Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
eacb8f04c4
111 changed files with 5549 additions and 5393 deletions
|
@ -117,7 +117,7 @@ if profile:
|
|||
|
||||
opts=Variables(customs, ARGUMENTS)
|
||||
opts.Add('target', 'Compile Target (debug/release_debug/release).', "debug")
|
||||
opts.Add('bits', 'Compile Target Bits (default/32/64).', "default")
|
||||
opts.Add('bits', 'Compile Target Bits (default/32/64/fat).', "default")
|
||||
opts.Add('platform','Platform: '+str(platform_list)+'.',"")
|
||||
opts.Add('p','Platform (same as platform=).',"")
|
||||
opts.Add('tools','Build Tools (Including Editor): (yes/no)','yes')
|
||||
|
@ -276,6 +276,8 @@ if selected_platform in platform_list:
|
|||
suffix+=".32"
|
||||
elif (env["bits"]=="64"):
|
||||
suffix+=".64"
|
||||
elif (env["bits"]=="fat"):
|
||||
suffix+=".fat"
|
||||
|
||||
suffix+=env.extra_suffix
|
||||
|
||||
|
|
|
@ -53,4 +53,4 @@ void test() {
|
|||
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -500,9 +500,9 @@ void _OS::set_icon(const Image& p_icon) {
|
|||
}
|
||||
|
||||
/**
|
||||
* Get current datetime with consideration for utc and
|
||||
* Get current datetime with consideration for utc and
|
||||
* dst
|
||||
*/
|
||||
*/
|
||||
Dictionary _OS::get_datetime(bool utc) const {
|
||||
|
||||
Dictionary dated = get_date(utc);
|
||||
|
@ -564,17 +564,17 @@ uint64_t _OS::get_unix_time_from_datetime(Dictionary datetime) const {
|
|||
|
||||
// Get all time values from the dictionary, set to zero if it doesn't exist.
|
||||
// Risk incorrect calculation over throwing errors
|
||||
unsigned int second = ((datetime.has(SECOND_KEY))?
|
||||
unsigned int second = ((datetime.has(SECOND_KEY))?
|
||||
static_cast<unsigned int>(datetime[SECOND_KEY]): 0);
|
||||
unsigned int minute = ((datetime.has(MINUTE_KEY))?
|
||||
unsigned int minute = ((datetime.has(MINUTE_KEY))?
|
||||
static_cast<unsigned int>(datetime[MINUTE_KEY]): 0);
|
||||
unsigned int hour = ((datetime.has(HOUR_KEY))?
|
||||
unsigned int hour = ((datetime.has(HOUR_KEY))?
|
||||
static_cast<unsigned int>(datetime[HOUR_KEY]): 0);
|
||||
unsigned int day = ((datetime.has(DAY_KEY))?
|
||||
unsigned int day = ((datetime.has(DAY_KEY))?
|
||||
static_cast<unsigned int>(datetime[DAY_KEY]): 0);
|
||||
unsigned int month = ((datetime.has(MONTH_KEY))?
|
||||
unsigned int month = ((datetime.has(MONTH_KEY))?
|
||||
static_cast<unsigned int>(datetime[MONTH_KEY]) -1: 0);
|
||||
unsigned int year = ((datetime.has(YEAR_KEY))?
|
||||
unsigned int year = ((datetime.has(YEAR_KEY))?
|
||||
static_cast<unsigned int>(datetime[YEAR_KEY]):0);
|
||||
|
||||
/// How many days come before each month (0-12)
|
||||
|
@ -604,7 +604,7 @@ uint64_t _OS::get_unix_time_from_datetime(Dictionary datetime) const {
|
|||
ERR_FAIL_COND_V( day > MONTH_DAYS_TABLE[LEAPYEAR(year)][month], 0);
|
||||
|
||||
// Calculate all the seconds from months past in this year
|
||||
uint64_t SECONDS_FROM_MONTHS_PAST_THIS_YEAR =
|
||||
uint64_t SECONDS_FROM_MONTHS_PAST_THIS_YEAR =
|
||||
DAYS_PAST_THIS_YEAR_TABLE[LEAPYEAR(year)][month] * SECONDS_PER_DAY;
|
||||
|
||||
uint64_t SECONDS_FROM_YEARS_PAST = 0;
|
||||
|
@ -614,13 +614,13 @@ uint64_t _OS::get_unix_time_from_datetime(Dictionary datetime) const {
|
|||
SECONDS_PER_DAY;
|
||||
}
|
||||
|
||||
uint64_t epoch =
|
||||
second +
|
||||
minute * SECONDS_PER_MINUTE +
|
||||
uint64_t epoch =
|
||||
second +
|
||||
minute * SECONDS_PER_MINUTE +
|
||||
hour * SECONDS_PER_HOUR +
|
||||
// Subtract 1 from day, since the current day isn't over yet
|
||||
// and we cannot count all 24 hours.
|
||||
(day-1) * SECONDS_PER_DAY +
|
||||
(day-1) * SECONDS_PER_DAY +
|
||||
SECONDS_FROM_MONTHS_PAST_THIS_YEAR +
|
||||
SECONDS_FROM_YEARS_PAST;
|
||||
return epoch;
|
||||
|
@ -631,7 +631,7 @@ uint64_t _OS::get_unix_time_from_datetime(Dictionary datetime) const {
|
|||
* Get a dictionary of time values when given epoch time
|
||||
*
|
||||
* Dictionary Time values will be a union if values from #get_time
|
||||
* and #get_date dictionaries (with the exception of dst =
|
||||
* and #get_date dictionaries (with the exception of dst =
|
||||
* day light standard time, as it cannot be determined from epoch)
|
||||
*
|
||||
* @param unix_time_val epoch time to convert
|
||||
|
@ -660,14 +660,14 @@ Dictionary _OS::get_datetime_from_unix_time( uint64_t unix_time_val) const {
|
|||
time.hour = dayclock / 3600;
|
||||
|
||||
/* day 0 was a thursday */
|
||||
date.weekday = static_cast<OS::Weekday>((dayno + 4) % 7);
|
||||
date.weekday = static_cast<OS::Weekday>((dayno + 4) % 7);
|
||||
|
||||
while (dayno >= YEARSIZE(year)) {
|
||||
dayno -= YEARSIZE(year);
|
||||
year++;
|
||||
}
|
||||
|
||||
date.year = year;
|
||||
date.year = year;
|
||||
|
||||
size_t imonth = 0;
|
||||
|
||||
|
|
|
@ -116,7 +116,7 @@ Error HTTPClient::request_raw( Method p_method, const String& p_url, const Vecto
|
|||
}
|
||||
request+="\r\n";
|
||||
CharString cs=request.utf8();
|
||||
|
||||
|
||||
DVector<uint8_t> data;
|
||||
|
||||
//Maybe this goes faster somehow?
|
||||
|
|
|
@ -3635,7 +3635,7 @@ String String::percent_decode() const {
|
|||
|
||||
CharString cs = utf8();
|
||||
for(int i=0;i<cs.length();i++) {
|
||||
|
||||
|
||||
uint8_t c = cs[i];
|
||||
if (c=='%' && i<length()-2) {
|
||||
|
||||
|
|
|
@ -1103,7 +1103,7 @@
|
|||
% key
|
||||
</constant>
|
||||
<constant name="KEY_AMPERSAND" value="38">
|
||||
& key
|
||||
& key
|
||||
</constant>
|
||||
<constant name="KEY_APOSTROPHE" value="39">
|
||||
' key
|
||||
|
@ -7268,12 +7268,14 @@
|
|||
<argument index="0" name="degrees" type="float">
|
||||
</argument>
|
||||
<description>
|
||||
Set rotation of the layer in degree.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_rotationd" qualifiers="const">
|
||||
<return type="float">
|
||||
</return>
|
||||
<description>
|
||||
Get rotation of the layer in degree.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_scale">
|
||||
|
@ -12250,18 +12252,21 @@ This approximation makes straight segments between each point, then subdivides t
|
|||
<argument index="0" name="dir" type="String">
|
||||
</argument>
|
||||
<description>
|
||||
Set the current working directory of the file dialog.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_current_file">
|
||||
<argument index="0" name="file" type="String">
|
||||
</argument>
|
||||
<description>
|
||||
Set the current selected file name of the file dialog.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_current_path">
|
||||
<argument index="0" name="path" type="String">
|
||||
</argument>
|
||||
<description>
|
||||
Set the current selected file path of the file dialog.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_mode">
|
||||
|
@ -12282,6 +12287,7 @@ This approximation makes straight segments between each point, then subdivides t
|
|||
<return type="VBoxContainer">
|
||||
</return>
|
||||
<description>
|
||||
Return the vertical box container of the dialog, custom controls can be added to it.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_access">
|
||||
|
@ -12314,6 +12320,7 @@ This approximation makes straight segments between each point, then subdivides t
|
|||
</method>
|
||||
<method name="invalidate">
|
||||
<description>
|
||||
Invalidate and update the current dialog content list.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
|
@ -12351,6 +12358,7 @@ This approximation makes straight segments between each point, then subdivides t
|
|||
The dialog functions as a folder selector, disallowing the selection of any file.
|
||||
</constant>
|
||||
<constant name="MODE_OPEN_ANY" value="3">
|
||||
The dialog allows the selection of a file or a directory.
|
||||
</constant>
|
||||
<constant name="MODE_SAVE_FILE" value="4">
|
||||
The dialog will warn when a file exists.
|
||||
|
@ -21323,24 +21331,28 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
|
|||
<argument index="0" name="enabled" type="bool">
|
||||
</argument>
|
||||
<description>
|
||||
Set whether the window is minimized.
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_window_minimized" qualifiers="const">
|
||||
<return type="bool">
|
||||
</return>
|
||||
<description>
|
||||
Return true if the window is minimized.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_window_maximized">
|
||||
<argument index="0" name="enabled" type="bool">
|
||||
</argument>
|
||||
<description>
|
||||
Set the window size to maximized.
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_window_maximized" qualifiers="const">
|
||||
<return type="bool">
|
||||
</return>
|
||||
<description>
|
||||
Return true if the window is maximized.
|
||||
</description>
|
||||
</method>
|
||||
<method name="set_borderless_window">
|
||||
|
@ -21578,6 +21590,7 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
|
|||
<return type="int">
|
||||
</return>
|
||||
<description>
|
||||
Return the current unix timestamp.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_datetime_from_unix_time" qualifiers="const">
|
||||
|
@ -21740,6 +21753,7 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
|
|||
<return type="String">
|
||||
</return>
|
||||
<description>
|
||||
Return the absolute directory path of user data path([user://]).
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_system_dir" qualifiers="const">
|
||||
|
@ -41487,6 +41501,17 @@ This method controls whether the position between two cached points is interpola
|
|||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_linear_velocity" qualifiers="const">
|
||||
<return type="Vector3">
|
||||
</return>
|
||||
<description>
|
||||
Returns the VehicleBody's velocity vector. To get the absolute speed in scalar value, get the length of the return vector in pixels/second. Example:
|
||||
[codeblock]
|
||||
# vehicle is an instance of VehicleBody
|
||||
var speed = vehicle.get_linear_velocity().length()
|
||||
[/codeblock]
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<constants>
|
||||
</constants>
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
Import('env')
|
||||
|
||||
env_drivers = env.Clone()
|
||||
|
||||
env.drivers_sources=[]
|
||||
#env.add_source_files(env.drivers_sources,"*.cpp")
|
||||
env.Append(CPPPATH=["vorbis"])
|
||||
Export('env')
|
||||
env_drivers.Append(CPPPATH=["vorbis"])
|
||||
|
||||
Export('env_drivers')
|
||||
|
||||
SConscript('unix/SCsub');
|
||||
SConscript('alsa/SCsub');
|
||||
|
@ -14,12 +17,9 @@ SConscript('gl_context/SCsub');
|
|||
SConscript('pnm/SCsub');
|
||||
|
||||
if (env['openssl']!='no'):
|
||||
env_ssl = env.Clone()
|
||||
Export('env_ssl')
|
||||
|
||||
env_ssl.Append(CPPFLAGS=['-DOPENSSL_ENABLED']);
|
||||
env_drivers.Append(CPPFLAGS=['-DOPENSSL_ENABLED']);
|
||||
if (env['openssl']=="builtin"):
|
||||
env_ssl.Append(CPPPATH=['#drivers/builtin_openssl2'])
|
||||
env_drivers.Append(CPPPATH=['#drivers/builtin_openssl2'])
|
||||
SConscript("builtin_openssl2/SCsub");
|
||||
|
||||
SConscript('openssl/SCsub')
|
||||
|
@ -47,7 +47,7 @@ if (env["vorbis"]=="yes" or env["speex"]=="yes" or env["theoralib"]=="yes" or en
|
|||
if (env["vorbis"]=="yes"):
|
||||
SConscript("vorbis/SCsub");
|
||||
if (env["opus"]=="yes"):
|
||||
SConscript('opus/SCsub');
|
||||
SConscript('opus/SCsub');
|
||||
if (env["tools"]=="yes"):
|
||||
SConscript("convex_decomp/SCsub");
|
||||
|
||||
|
@ -84,14 +84,14 @@ if (env.split_drivers): #split drivers, this used to be needed for windows until
|
|||
base = string.join(fname.split("/")[:2], "/")
|
||||
if base != cur_base and len(list) > max_src:
|
||||
if num > 0:
|
||||
lib = env.Library("drivers"+str(num), list)
|
||||
lib = env_drivers.Library("drivers"+str(num), list)
|
||||
lib_list.append(lib)
|
||||
list = []
|
||||
num = num+1
|
||||
cur_base = base
|
||||
list.append(f)
|
||||
|
||||
lib = env.Library("drivers"+str(num), list)
|
||||
lib = env_drivers.Library("drivers"+str(num), list)
|
||||
lib_list.append(lib)
|
||||
|
||||
if len(lib_list) > 0:
|
||||
|
@ -99,15 +99,15 @@ if (env.split_drivers): #split drivers, this used to be needed for windows until
|
|||
if os.name=='posix' and sys.platform=='msys':
|
||||
env.Replace(ARFLAGS=['rcsT'])
|
||||
|
||||
lib = env.Library("drivers_collated", lib_list)
|
||||
lib = env_drivers.Library("drivers_collated", lib_list)
|
||||
lib_list = [lib]
|
||||
|
||||
drivers_base=[]
|
||||
env.add_source_files(drivers_base,"*.cpp")
|
||||
lib_list.insert(0, env.Library("drivers", drivers_base))
|
||||
env_drivers.add_source_files(drivers_base,"*.cpp")
|
||||
lib_list.insert(0, env_drivers.Library("drivers", drivers_base))
|
||||
|
||||
env.Prepend(LIBS=lib_list)
|
||||
else:
|
||||
env.add_source_files(env.drivers_sources,"*.cpp")
|
||||
lib = env.Library("drivers",env.drivers_sources)
|
||||
env_drivers.add_source_files(env.drivers_sources,"*.cpp")
|
||||
lib = env_drivers.Library("drivers",env.drivers_sources)
|
||||
env.Prepend(LIBS=[lib])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Import('env')
|
||||
Import('env_ssl')
|
||||
Import('env_drivers')
|
||||
|
||||
openssl_sources = [
|
||||
"ssl/t1_lib.c",
|
||||
|
@ -642,17 +642,17 @@ openssl_sources = [
|
|||
|
||||
#env.drivers_sources+=openssl_sources
|
||||
|
||||
env_ssl.Append(CPPPATH=["#drivers/builtin_openssl2/crypto"])
|
||||
env_ssl.Append(CPPPATH=["#drivers/builtin_openssl2/openssl"])
|
||||
env_ssl.Append(CPPPATH=["#drivers/builtin_openssl2/crypto/evp"])
|
||||
env_ssl.Append(CPPPATH=["#drivers/builtin_openssl2/crypto/asn1"])
|
||||
env_ssl.Append(CPPPATH=["#drivers/builtin_openssl2/crypto/modes"])
|
||||
env_drivers.Append(CPPPATH=["#drivers/builtin_openssl2/crypto"])
|
||||
env_drivers.Append(CPPPATH=["#drivers/builtin_openssl2/openssl"])
|
||||
env_drivers.Append(CPPPATH=["#drivers/builtin_openssl2/crypto/evp"])
|
||||
env_drivers.Append(CPPPATH=["#drivers/builtin_openssl2/crypto/asn1"])
|
||||
env_drivers.Append(CPPPATH=["#drivers/builtin_openssl2/crypto/modes"])
|
||||
#env_ssl.Append(CPPPATH=["#drivers/builtin_openssl2/crypto/store"])
|
||||
env_ssl.Append(CPPFLAGS=["-DOPENSSL_NO_ASM","-DOPENSSL_THREADS","-DL_ENDIAN"])
|
||||
env_drivers.Append(CPPFLAGS=["-DOPENSSL_NO_ASM","-DOPENSSL_THREADS","-DL_ENDIAN"])
|
||||
|
||||
# Workaround for compilation error with GCC/Clang when -Werror is too greedy (GH-4517)
|
||||
import os
|
||||
if not (os.name=="nt" and os.getenv("VSINSTALLDIR")!=None): # not Windows and not MSVC
|
||||
env_ssl.Append(CFLAGS=["-Wno-error=implicit-function-declaration"])
|
||||
env_drivers.Append(CFLAGS=["-Wno-error=implicit-function-declaration"])
|
||||
|
||||
env_ssl.add_source_files(env.drivers_sources,openssl_sources)
|
||||
env_drivers.add_source_files(env.drivers_sources,openssl_sources)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Import('env_ssl')
|
||||
Import('env_drivers')
|
||||
Import('env')
|
||||
|
||||
env_ssl.add_source_files(env.drivers_sources,"*.cpp")
|
||||
env_ssl.add_source_files(env.drivers_sources,"*.c")
|
||||
env_drivers.add_source_files(env.drivers_sources,"*.cpp")
|
||||
env_drivers.add_source_files(env.drivers_sources,"*.c")
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
Import('env')
|
||||
Import('env_drivers')
|
||||
|
||||
|
||||
png_sources = [
|
||||
|
@ -25,7 +26,7 @@ png_sources = [
|
|||
# Currently .ASM filter_neon.S does not compile on NT.
|
||||
import os
|
||||
if ("neon_enabled" in env and env["neon_enabled"]) and os.name!="nt":
|
||||
env.Append(CPPFLAGS=["-DPNG_ARM_NEON_OPT=2"])
|
||||
env_drivers.Append(CPPFLAGS=["-DPNG_ARM_NEON_OPT=2"])
|
||||
env_neon = env.Clone();
|
||||
if "S_compiler" in env:
|
||||
env_neon['CC'] = env['S_compiler']
|
||||
|
@ -33,7 +34,7 @@ if ("neon_enabled" in env and env["neon_enabled"]) and os.name!="nt":
|
|||
png_sources.append(env_neon.Object("#drivers/png/arm/arm_init.c"))
|
||||
png_sources.append(env_neon.Object("#drivers/png/arm/filter_neon.S"))
|
||||
else:
|
||||
env.Append(CPPFLAGS=["-DPNG_ARM_NEON_OPT=0"])
|
||||
env_drivers.Append(CPPFLAGS=["-DPNG_ARM_NEON_OPT=0"])
|
||||
|
||||
env.drivers_sources+=png_sources
|
||||
|
||||
|
|
|
@ -21,7 +21,6 @@ def get_opts():
|
|||
|
||||
return [
|
||||
('ANDROID_NDK_ROOT', 'the path to Android NDK', os.environ.get("ANDROID_NDK_ROOT", 0)),
|
||||
('NDK_TOOLCHAIN', 'toolchain to use for the NDK',"arm-eabi-4.4.0"),
|
||||
('NDK_TARGET', 'toolchain to use for the NDK',os.environ.get("NDK_TARGET", "arm-linux-androideabi-4.9")),
|
||||
('NDK_TARGET_X86', 'toolchain to use for the NDK x86',os.environ.get("NDK_TARGET_X86", "x86-4.9")),
|
||||
('ndk_platform', 'compile for platform: (android-<api> , example: android-15)',"android-15"),
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
|
||||
|
||||
void register_android_global_defaults();
|
||||
void register_android_global_defaults();
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
|
||||
|
||||
void register_iphone_global_defaults();
|
||||
void register_iphone_global_defaults();
|
||||
|
|
|
@ -220,17 +220,17 @@
|
|||
#define DOM_VK_WIN_OEM_CLEAR 0xFE
|
||||
|
||||
int dom2godot_scancode(int dom_keycode) {
|
||||
|
||||
|
||||
if (DOM_VK_0 <= dom_keycode && dom_keycode <= DOM_VK_Z) {
|
||||
// ASCII intersection
|
||||
return dom_keycode;
|
||||
}
|
||||
|
||||
|
||||
if (DOM_VK_NUMPAD0 <= dom_keycode && dom_keycode <= DOM_VK_NUMPAD9) {
|
||||
// Numpad numbers
|
||||
return KEY_KP_0 + (dom_keycode - DOM_VK_NUMPAD0);
|
||||
}
|
||||
|
||||
|
||||
if (DOM_VK_F1 <= dom_keycode && dom_keycode <= DOM_VK_F16) {
|
||||
// F1-F16
|
||||
return KEY_F1 + (dom_keycode - DOM_VK_F1);
|
||||
|
@ -259,7 +259,7 @@ int dom2godot_scancode(int dom_keycode) {
|
|||
|
||||
case DOM_VK_PAUSE: return KEY_PAUSE;
|
||||
case DOM_VK_CAPS_LOCK: return KEY_CAPSLOCK;
|
||||
|
||||
|
||||
/*
|
||||
case DOM_VK_KANA: return KEY_UNKNOWN;
|
||||
case DOM_VK_HANGUL: return KEY_UNKNOWN;
|
||||
|
@ -269,7 +269,7 @@ int dom2godot_scancode(int dom_keycode) {
|
|||
case DOM_VK_HANJA: return KEY_UNKNOWN;
|
||||
case DOM_VK_KANJI: return KEY_UNKNOWN;
|
||||
*/
|
||||
|
||||
|
||||
case DOM_VK_ESCAPE: return KEY_ESCAPE;
|
||||
/*
|
||||
case DOM_VK_CONVERT: return KEY_UNKNOWN;
|
||||
|
@ -277,8 +277,8 @@ int dom2godot_scancode(int dom_keycode) {
|
|||
case DOM_VK_ACCEPT: return KEY_UNKNOWN;
|
||||
case DOM_VK_MODECHANGE: return KEY_UNKNOWN;
|
||||
*/
|
||||
|
||||
case DOM_VK_SPACE: return KEY_SPACE;
|
||||
|
||||
case DOM_VK_SPACE: return KEY_SPACE;
|
||||
case DOM_VK_PAGE_UP: return KEY_PAGEUP;
|
||||
case DOM_VK_PAGE_DOWN: return KEY_PAGEDOWN;
|
||||
case DOM_VK_END: return KEY_END;
|
||||
|
@ -287,7 +287,7 @@ int dom2godot_scancode(int dom_keycode) {
|
|||
case DOM_VK_UP: return KEY_UP;
|
||||
case DOM_VK_RIGHT: return KEY_RIGHT;
|
||||
case DOM_VK_DOWN: return KEY_DOWN;
|
||||
|
||||
|
||||
//case DOM_VK_SELECT: return KEY_UNKNOWN;
|
||||
|
||||
case DOM_VK_PRINTSCREEN: // this is the usual printScreen key
|
||||
|
@ -297,7 +297,7 @@ int dom2godot_scancode(int dom_keycode) {
|
|||
//case DOM_VK_EXECUTE: return KEY_UNKNOWN;
|
||||
case DOM_VK_INSERT: return KEY_INSERT;
|
||||
case DOM_VK_DELETE: return KEY_DELETE;
|
||||
|
||||
|
||||
case DOM_VK_META:
|
||||
case DOM_VK_WIN:
|
||||
return KEY_META;
|
||||
|
@ -312,7 +312,7 @@ int dom2godot_scancode(int dom_keycode) {
|
|||
case DOM_VK_SUBTRACT: return KEY_KP_SUBTRACT;
|
||||
case DOM_VK_DECIMAL: return KEY_KP_PERIOD;
|
||||
case DOM_VK_DIVIDE: return KEY_KP_DIVIDE;
|
||||
|
||||
|
||||
/*
|
||||
case DOM_VK_F17: return KEY_UNKNOWN;
|
||||
case DOM_VK_F18: return KEY_UNKNOWN;
|
||||
|
@ -323,7 +323,7 @@ int dom2godot_scancode(int dom_keycode) {
|
|||
case DOM_VK_F23: return KEY_UNKNOWN;
|
||||
case DOM_VK_F24: return KEY_UNKNOWN;
|
||||
*/
|
||||
|
||||
|
||||
case DOM_VK_NUM_LOCK: return KEY_NUMLOCK;
|
||||
case DOM_VK_SCROLL_LOCK: return KEY_SCROLLLOCK;
|
||||
|
||||
|
@ -352,11 +352,11 @@ int dom2godot_scancode(int dom_keycode) {
|
|||
case DOM_VK_OPEN_CURLY_BRACKET: return KEY_BRACELEFT;
|
||||
case DOM_VK_CLOSE_CURLY_BRACKET: return KEY_BRACERIGHT;
|
||||
case DOM_VK_TILDE: return KEY_ASCIITILDE;
|
||||
|
||||
|
||||
case DOM_VK_VOLUME_MUTE: return KEY_VOLUMEMUTE;
|
||||
case DOM_VK_VOLUME_DOWN: return KEY_VOLUMEDOWN;
|
||||
case DOM_VK_VOLUME_UP: return KEY_VOLUMEUP;
|
||||
|
||||
|
||||
case DOM_VK_COMMA: return KEY_COMMA;
|
||||
case DOM_VK_PERIOD: return KEY_PERIOD;
|
||||
case DOM_VK_SLASH: return KEY_SLASH;
|
||||
|
@ -365,9 +365,9 @@ int dom2godot_scancode(int dom_keycode) {
|
|||
case DOM_VK_BACK_SLASH: return KEY_BACKSLASH;
|
||||
case DOM_VK_CLOSE_BRACKET: return KEY_BRACKETRIGHT;
|
||||
case DOM_VK_QUOTE: return KEY_APOSTROPHE;
|
||||
|
||||
|
||||
// rest is OEM/unusual
|
||||
|
||||
|
||||
default: return KEY_UNKNOWN;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -68,9 +68,12 @@ def configure(env):
|
|||
if (env["bits"]=="64"):
|
||||
env.Append(CCFLAGS=['-arch', 'x86_64'])
|
||||
env.Append(LINKFLAGS=['-arch', 'x86_64'])
|
||||
else:
|
||||
elif (env["bits"]=="32"):
|
||||
env.Append(CCFLAGS=['-arch', 'i386'])
|
||||
env.Append(LINKFLAGS=['-arch', 'i386'])
|
||||
else:
|
||||
env.Append(CCFLAGS=['-arch', 'i386', '-arch', 'x86_64'])
|
||||
env.Append(LINKFLAGS=['-arch', 'i386', '-arch', 'x86_64'])
|
||||
else:
|
||||
#osxcross build
|
||||
root=os.environ.get("OSXCROSS_ROOT",0)
|
||||
|
|
|
@ -103,7 +103,7 @@ class OS_Windows : public OS {
|
|||
HDC hDC; // Private GDI Device Context
|
||||
HINSTANCE hInstance; // Holds The Instance Of The Application
|
||||
HWND hWnd;
|
||||
|
||||
|
||||
HCURSOR hCursor;
|
||||
|
||||
Size2 window_rect;
|
||||
|
|
|
@ -62,7 +62,7 @@ String CanvasModulate::get_configuration_warning() const {
|
|||
get_tree()->get_nodes_in_group("_canvas_modulate_"+itos(get_canvas().get_id()),&nodes);
|
||||
|
||||
if (nodes.size()>1) {
|
||||
return TTR("Only one visible CanvasModulate is allowed per scene (or set of instanced scenes). The first one created will work, while the rest will be ignored.");
|
||||
return TTR("Only one visible CanvasModulate is allowed per scene (or set of instanced scenes). The first created one will work, while the rest will be ignored.");
|
||||
}
|
||||
|
||||
return String();
|
||||
|
|
|
@ -16,7 +16,7 @@ public:
|
|||
void set_color(const Color& p_color);
|
||||
Color get_color() const;
|
||||
|
||||
String CanvasModulate::get_configuration_warning() const;
|
||||
String get_configuration_warning() const;
|
||||
|
||||
CanvasModulate();
|
||||
~CanvasModulate();
|
||||
|
|
|
@ -243,7 +243,7 @@ String PathFollow2D::get_configuration_warning() const {
|
|||
return String();
|
||||
|
||||
if (!get_parent() || !get_parent()->cast_to<Path2D>()) {
|
||||
return TTR("PathFolow2D only works when set as a child of a Path2D node.");
|
||||
return TTR("PathFollow2D only works when set as a child of a Path2D node.");
|
||||
}
|
||||
|
||||
return String();
|
||||
|
|
|
@ -540,7 +540,7 @@ String ViewportSprite::get_configuration_warning() const {
|
|||
Viewport *vp = n->cast_to<Viewport>();
|
||||
if (!vp->is_set_as_render_target()) {
|
||||
|
||||
return TTR("The Viewport set in the path property must be set as 'render taget' in order for this sprite to work");
|
||||
return TTR("The Viewport set in the path property must be set as 'render target' in order for this sprite to work.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -347,11 +347,11 @@ void VisibilityEnabler2D::_node_removed(Node* p_node) {
|
|||
}
|
||||
|
||||
String VisibilityEnabler2D::get_configuration_warning() const {
|
||||
|
||||
#ifdef TOOLS_ENABLED
|
||||
if (is_inside_tree() && get_parent() && (get_parent()->get_filename()==String() && get_parent()!=get_tree()->get_edited_scene_root())) {
|
||||
return TTR("VisibilityEnable2D works best when used with the edited scene root directly as parent.");
|
||||
}
|
||||
|
||||
#endif
|
||||
return String();
|
||||
}
|
||||
|
||||
|
|
|
@ -936,7 +936,7 @@ void VehicleBody::_direct_state_changed(Object *p_state) {
|
|||
wheel.m_deltaRotation *= real_t(0.99);//damping of rotation when not in contact
|
||||
|
||||
}
|
||||
|
||||
linear_velocity = s->get_linear_velocity();
|
||||
}
|
||||
|
||||
void VehicleBody::set_mass(real_t p_mass) {
|
||||
|
@ -990,6 +990,10 @@ float VehicleBody::get_steering() const{
|
|||
return m_steeringValue;
|
||||
}
|
||||
|
||||
Vector3 VehicleBody::get_linear_velocity()
|
||||
{
|
||||
return linear_velocity;
|
||||
}
|
||||
|
||||
void VehicleBody::_bind_methods(){
|
||||
|
||||
|
@ -1008,6 +1012,8 @@ void VehicleBody::_bind_methods(){
|
|||
ObjectTypeDB::bind_method(_MD("set_steering","steering"),&VehicleBody::set_steering);
|
||||
ObjectTypeDB::bind_method(_MD("get_steering"),&VehicleBody::get_steering);
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("get_linear_velocity"),&VehicleBody::get_linear_velocity);
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("_direct_state_changed"),&VehicleBody::_direct_state_changed);
|
||||
|
||||
ADD_PROPERTY( PropertyInfo(Variant::REAL,"motion/engine_force",PROPERTY_HINT_RANGE,"0.00,1024.0,0.01"),_SCS("set_engine_force"),_SCS("get_engine_force"));
|
||||
|
|
|
@ -178,6 +178,7 @@ public:
|
|||
void set_steering(float p_steering);
|
||||
float get_steering() const;
|
||||
|
||||
Vector3 get_linear_velocity();
|
||||
|
||||
VehicleBody();
|
||||
};
|
||||
|
|
|
@ -1012,7 +1012,7 @@ void AnimationPlayer::play(const StringName& p_name, float p_custom_blend, float
|
|||
queued.clear();
|
||||
_set_process(true); // always process when starting an animation
|
||||
playing = true;
|
||||
|
||||
|
||||
emit_signal(SceneStringNames::get_singleton()->animation_started, c.assigned);
|
||||
|
||||
if (is_inside_tree() && get_tree()->is_editor_hint())
|
||||
|
|
|
@ -494,7 +494,7 @@ HTTPRequest::HTTPRequest()
|
|||
max_redirects=8;
|
||||
body_len=-1;
|
||||
got_response=false;
|
||||
validate_ssl=false;
|
||||
validate_ssl=false;
|
||||
use_ssl=false;
|
||||
response_code=0;
|
||||
request_sent=false;
|
||||
|
|
|
@ -1842,6 +1842,8 @@ void Viewport::_gui_input_event(InputEvent p_event) {
|
|||
if (gui.mouse_over)
|
||||
gui.mouse_over->notification(Control::NOTIFICATION_MOUSE_EXIT);
|
||||
|
||||
_gui_cancel_tooltip();
|
||||
|
||||
if (over)
|
||||
over->notification(Control::NOTIFICATION_MOUSE_ENTER);
|
||||
|
||||
|
@ -1849,8 +1851,6 @@ void Viewport::_gui_input_event(InputEvent p_event) {
|
|||
|
||||
gui.mouse_over=over;
|
||||
|
||||
_gui_cancel_tooltip();
|
||||
|
||||
if (gui.drag_preview) {
|
||||
gui.drag_preview->set_pos(mpos);
|
||||
}
|
||||
|
@ -2407,7 +2407,7 @@ String Viewport::get_configuration_warning() const {
|
|||
|
||||
if (get_parent() && !get_parent()->cast_to<Control>() && !render_target) {
|
||||
|
||||
return TTR("This viewport is not set as render target. If you intend for it to display it's contents directly to the screen, make it a child of a Control so it can obtain a size. Otherwise, make it a RenderTarget and assign it's internal texture to some node for display.");
|
||||
return TTR("This viewport is not set as render target. If you intend for it to display its contents directly to the screen, make it a child of a Control so it can obtain a size. Otherwise, make it a RenderTarget and assign its internal texture to some node for display.");
|
||||
}
|
||||
|
||||
return String();
|
||||
|
|
|
@ -544,7 +544,7 @@ void Curve2D::_bake() const {
|
|||
List<Vector2> pointlist;
|
||||
|
||||
pointlist.push_back(pos); //start always from origin
|
||||
|
||||
|
||||
for(int i=0;i<points.size()-1;i++) {
|
||||
|
||||
float step = 0.1; // at least 10 substeps ought to be enough?
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
// "Zer" on mollyrocket (with fix)
|
||||
// Cass Everitt
|
||||
// stoiko (Haemimont Games)
|
||||
// Brian Hook
|
||||
// Brian Hook
|
||||
// Walter van Niftrik
|
||||
// David Gow
|
||||
// David Given
|
||||
|
@ -218,7 +218,7 @@
|
|||
// Curve tesselation 120 LOC \__ 550 LOC Bitmap creation
|
||||
// Bitmap management 100 LOC /
|
||||
// Baked bitmap interface 70 LOC /
|
||||
// Font name matching & access 150 LOC ---- 150
|
||||
// Font name matching & access 150 LOC ---- 150
|
||||
// C runtime library abstraction 60 LOC ---- 60
|
||||
//
|
||||
//
|
||||
|
@ -311,7 +311,7 @@ int main(int argc, char **argv)
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
//
|
||||
// Output:
|
||||
//
|
||||
|
@ -325,9 +325,9 @@ int main(int argc, char **argv)
|
|||
// :@@. M@M
|
||||
// @@@o@@@@
|
||||
// :M@@V:@@.
|
||||
//
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
// Complete program: print "Hello World!" banner, with bugs
|
||||
//
|
||||
#if 0
|
||||
|
@ -599,7 +599,7 @@ STBTT_DEF int stbtt_PackFontRangesRenderIntoRects(stbtt_pack_context *spc, stbt
|
|||
// Calling these functions in sequence is roughly equivalent to calling
|
||||
// stbtt_PackFontRanges(). If you more control over the packing of multiple
|
||||
// fonts, or if you want to pack custom data into a font texture, take a look
|
||||
// at the source to of stbtt_PackFontRanges() and create a custom version
|
||||
// at the source to of stbtt_PackFontRanges() and create a custom version
|
||||
// using these functions, e.g. call GatherRects multiple times,
|
||||
// building up a single array of rects, then call PackRects once,
|
||||
// then call RenderIntoRects repeatedly. This may result in a
|
||||
|
@ -1350,7 +1350,7 @@ STBTT_DEF int stbtt_GetGlyphShape(const stbtt_fontinfo *info, int glyph_index, s
|
|||
if (i != 0)
|
||||
num_vertices = stbtt__close_shape(vertices, num_vertices, was_off, start_off, sx,sy,scx,scy,cx,cy);
|
||||
|
||||
// now start the new one
|
||||
// now start the new one
|
||||
start_off = !(flags & 1);
|
||||
if (start_off) {
|
||||
// if we start off with an off-curve point, then when we need to find a point on the curve
|
||||
|
@ -1403,7 +1403,7 @@ STBTT_DEF int stbtt_GetGlyphShape(const stbtt_fontinfo *info, int glyph_index, s
|
|||
int comp_num_verts = 0, i;
|
||||
stbtt_vertex *comp_verts = 0, *tmp = 0;
|
||||
float mtx[6] = {1,0,0,1,0,0}, m, n;
|
||||
|
||||
|
||||
flags = ttSHORT(comp); comp+=2;
|
||||
gidx = ttSHORT(comp); comp+=2;
|
||||
|
||||
|
@ -1433,7 +1433,7 @@ STBTT_DEF int stbtt_GetGlyphShape(const stbtt_fontinfo *info, int glyph_index, s
|
|||
mtx[2] = ttSHORT(comp)/16384.0f; comp+=2;
|
||||
mtx[3] = ttSHORT(comp)/16384.0f; comp+=2;
|
||||
}
|
||||
|
||||
|
||||
// Find transformation scales.
|
||||
m = (float) STBTT_sqrt(mtx[0]*mtx[0] + mtx[1]*mtx[1]);
|
||||
n = (float) STBTT_sqrt(mtx[2]*mtx[2] + mtx[3]*mtx[3]);
|
||||
|
@ -1691,7 +1691,7 @@ static stbtt__active_edge *stbtt__new_active(stbtt__hheap *hh, stbtt__edge *e, i
|
|||
float dxdy = (e->x1 - e->x0) / (e->y1 - e->y0);
|
||||
STBTT_assert(z != NULL);
|
||||
if (!z) return z;
|
||||
|
||||
|
||||
// round dx down to avoid overshooting
|
||||
if (dxdy < 0)
|
||||
z->dx = -STBTT_ifloor(STBTT_FIX * -dxdy);
|
||||
|
@ -1769,7 +1769,7 @@ static void stbtt__fill_active_edges(unsigned char *scanline, int len, stbtt__ac
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
e = e->next;
|
||||
}
|
||||
}
|
||||
|
@ -2441,7 +2441,7 @@ STBTT_DEF unsigned char *stbtt_GetGlyphBitmapSubpixel(const stbtt_fontinfo *info
|
|||
{
|
||||
int ix0,iy0,ix1,iy1;
|
||||
stbtt__bitmap gbm;
|
||||
stbtt_vertex *vertices;
|
||||
stbtt_vertex *vertices;
|
||||
int num_verts = stbtt_GetGlyphShape(info, glyph, &vertices);
|
||||
|
||||
if (scale_x == 0) scale_x = scale_y;
|
||||
|
@ -2464,7 +2464,7 @@ STBTT_DEF unsigned char *stbtt_GetGlyphBitmapSubpixel(const stbtt_fontinfo *info
|
|||
if (height) *height = gbm.h;
|
||||
if (xoff ) *xoff = ix0;
|
||||
if (yoff ) *yoff = iy0;
|
||||
|
||||
|
||||
if (gbm.w && gbm.h) {
|
||||
gbm.pixels = (unsigned char *) STBTT_malloc(gbm.w * gbm.h, info->userdata);
|
||||
if (gbm.pixels) {
|
||||
|
@ -2475,7 +2475,7 @@ STBTT_DEF unsigned char *stbtt_GetGlyphBitmapSubpixel(const stbtt_fontinfo *info
|
|||
}
|
||||
STBTT_free(vertices, info->userdata);
|
||||
return gbm.pixels;
|
||||
}
|
||||
}
|
||||
|
||||
STBTT_DEF unsigned char *stbtt_GetGlyphBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int glyph, int *width, int *height, int *xoff, int *yoff)
|
||||
{
|
||||
|
@ -2487,7 +2487,7 @@ STBTT_DEF void stbtt_MakeGlyphBitmapSubpixel(const stbtt_fontinfo *info, unsigne
|
|||
int ix0,iy0;
|
||||
stbtt_vertex *vertices;
|
||||
int num_verts = stbtt_GetGlyphShape(info, glyph, &vertices);
|
||||
stbtt__bitmap gbm;
|
||||
stbtt__bitmap gbm;
|
||||
|
||||
stbtt_GetGlyphBitmapBoxSubpixel(info, glyph, scale_x, scale_y, shift_x, shift_y, &ix0,&iy0,0,0);
|
||||
gbm.pixels = output;
|
||||
|
@ -2509,7 +2509,7 @@ STBTT_DEF void stbtt_MakeGlyphBitmap(const stbtt_fontinfo *info, unsigned char *
|
|||
STBTT_DEF unsigned char *stbtt_GetCodepointBitmapSubpixel(const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint, int *width, int *height, int *xoff, int *yoff)
|
||||
{
|
||||
return stbtt_GetGlyphBitmapSubpixel(info, scale_x, scale_y,shift_x,shift_y, stbtt_FindGlyphIndex(info,codepoint), width,height,xoff,yoff);
|
||||
}
|
||||
}
|
||||
|
||||
STBTT_DEF void stbtt_MakeCodepointBitmapSubpixel(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint)
|
||||
{
|
||||
|
@ -2519,7 +2519,7 @@ STBTT_DEF void stbtt_MakeCodepointBitmapSubpixel(const stbtt_fontinfo *info, uns
|
|||
STBTT_DEF unsigned char *stbtt_GetCodepointBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int codepoint, int *width, int *height, int *xoff, int *yoff)
|
||||
{
|
||||
return stbtt_GetCodepointBitmapSubpixel(info, scale_x, scale_y, 0.0f,0.0f, codepoint, width,height,xoff,yoff);
|
||||
}
|
||||
}
|
||||
|
||||
STBTT_DEF void stbtt_MakeCodepointBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int codepoint)
|
||||
{
|
||||
|
@ -2644,7 +2644,7 @@ static void stbrp_init_target(stbrp_context *con, int pw, int ph, stbrp_node *no
|
|||
con->y = 0;
|
||||
con->bottom_y = 0;
|
||||
STBTT__NOTUSED(nodes);
|
||||
STBTT__NOTUSED(num_nodes);
|
||||
STBTT__NOTUSED(num_nodes);
|
||||
}
|
||||
|
||||
static void stbrp_pack_rects(stbrp_context *con, stbrp_rect *rects, int num_rects)
|
||||
|
@ -2996,7 +2996,7 @@ STBTT_DEF int stbtt_PackFontRanges(stbtt_pack_context *spc, unsigned char *fontd
|
|||
n = 0;
|
||||
for (i=0; i < num_ranges; ++i)
|
||||
n += ranges[i].num_chars;
|
||||
|
||||
|
||||
rects = (stbrp_rect *) STBTT_malloc(sizeof(*rects) * n, spc->user_allocator_context);
|
||||
if (rects == NULL)
|
||||
return 0;
|
||||
|
@ -3007,7 +3007,7 @@ STBTT_DEF int stbtt_PackFontRanges(stbtt_pack_context *spc, unsigned char *fontd
|
|||
n = stbtt_PackFontRangesGatherRects(spc, &info, ranges, num_ranges, rects);
|
||||
|
||||
stbtt_PackFontRangesPackRects(spc, rects, n);
|
||||
|
||||
|
||||
return_value = stbtt_PackFontRangesRenderIntoRects(spc, &info, ranges, num_ranges, rects);
|
||||
|
||||
STBTT_free(rects, spc->user_allocator_context);
|
||||
|
@ -3060,7 +3060,7 @@ STBTT_DEF void stbtt_GetPackedQuad(stbtt_packedchar *chardata, int pw, int ph, i
|
|||
//
|
||||
|
||||
// check if a utf8 string contains a prefix which is the utf16 string; if so return length of matching utf8 string
|
||||
static stbtt_int32 stbtt__CompareUTF8toUTF16_bigendian_prefix(const stbtt_uint8 *s1, stbtt_int32 len1, const stbtt_uint8 *s2, stbtt_int32 len2)
|
||||
static stbtt_int32 stbtt__CompareUTF8toUTF16_bigendian_prefix(const stbtt_uint8 *s1, stbtt_int32 len1, const stbtt_uint8 *s2, stbtt_int32 len2)
|
||||
{
|
||||
stbtt_int32 i=0;
|
||||
|
||||
|
@ -3099,7 +3099,7 @@ static stbtt_int32 stbtt__CompareUTF8toUTF16_bigendian_prefix(const stbtt_uint8
|
|||
return i;
|
||||
}
|
||||
|
||||
STBTT_DEF int stbtt_CompareUTF8toUTF16_bigendian(const char *s1, int len1, const char *s2, int len2)
|
||||
STBTT_DEF int stbtt_CompareUTF8toUTF16_bigendian(const char *s1, int len1, const char *s2, int len2)
|
||||
{
|
||||
return len1 == stbtt__CompareUTF8toUTF16_bigendian_prefix((const stbtt_uint8*) s1, len1, (const stbtt_uint8*) s2, len2);
|
||||
}
|
||||
|
|
|
@ -374,7 +374,7 @@ void Theme::get_stylebox_types(List<StringName> *p_list) const {
|
|||
const StringName *key=NULL;
|
||||
while((key=style_map.next(key))) {
|
||||
p_list->push_back(*key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Theme::set_font(const StringName& p_name,const StringName& p_type,const Ref<Font>& p_font) {
|
||||
|
|
|
@ -657,7 +657,7 @@ public:
|
|||
|
||||
virtual RID texture_create();
|
||||
virtual void texture_allocate(RID p_texture,int p_width, int p_height,Image::Format p_format,uint32_t p_flags=TEXTURE_FLAGS_DEFAULT);
|
||||
virtual void texture_set_data(RID p_texture,const Image& p_image,CubeMapSide p_cube_side=CUBEMAP_LEFT);
|
||||
virtual void texture_set_data(RID p_texture,const Image& p_image,CubeMapSide p_cube_side=CUBEMAP_LEFT);
|
||||
virtual Image texture_get_data(RID p_texture,CubeMapSide p_cube_side=CUBEMAP_LEFT) const;
|
||||
virtual void texture_set_flags(RID p_texture,uint32_t p_flags) ;
|
||||
virtual uint32_t texture_get_flags(RID p_texture) const;
|
||||
|
|
|
@ -1085,7 +1085,7 @@ EditorAddonLibrary::EditorAddonLibrary() {
|
|||
|
||||
|
||||
|
||||
search_hb->add_child( memnew( Label(TTR("Search: "))));
|
||||
search_hb->add_child( memnew( Label(TTR("Search:")+" ")));
|
||||
filter =memnew( LineEdit );
|
||||
search_hb->add_child(filter);
|
||||
filter->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||
|
@ -1112,7 +1112,7 @@ EditorAddonLibrary::EditorAddonLibrary() {
|
|||
HBoxContainer *search_hb2 = memnew( HBoxContainer );
|
||||
library_main->add_child(search_hb2);
|
||||
|
||||
search_hb2->add_child( memnew( Label("Sort: ")));
|
||||
search_hb2->add_child( memnew( Label(TTR("Sort:")+" ")));
|
||||
sort = memnew( OptionButton );
|
||||
for(int i=0;i<SORT_MAX;i++) {
|
||||
sort->add_item(sort_text[i]);
|
||||
|
@ -1123,26 +1123,26 @@ EditorAddonLibrary::EditorAddonLibrary() {
|
|||
sort->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||
|
||||
reverse = memnew( CheckBox);
|
||||
reverse->set_text("Reverse");
|
||||
reverse->set_text(TTR("Reverse"));
|
||||
search_hb2->add_child(reverse);
|
||||
|
||||
search_hb2->add_child(memnew(VSeparator));
|
||||
|
||||
//search_hb2->add_spacer();
|
||||
|
||||
search_hb2->add_child( memnew( Label("Category: ")));
|
||||
search_hb2->add_child( memnew( Label(TTR("Category:")+" ")));
|
||||
categories = memnew( OptionButton );
|
||||
categories->add_item("All");
|
||||
categories->add_item(TTR("All"));
|
||||
search_hb2->add_child(categories);
|
||||
categories->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||
//search_hb2->add_spacer();
|
||||
|
||||
search_hb2->add_child(memnew(VSeparator));
|
||||
|
||||
search_hb2->add_child( memnew( Label("Site: ")));
|
||||
search_hb2->add_child( memnew( Label(TTR("Site:")+" ")));
|
||||
repository = memnew( OptionButton );
|
||||
|
||||
repository->add_item(TTR("Godot"));
|
||||
repository->add_item("Godot");
|
||||
search_hb2->add_child(repository);
|
||||
repository->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||
|
||||
|
@ -1232,7 +1232,7 @@ EditorAddonLibrary::EditorAddonLibrary() {
|
|||
asset_open = memnew( EditorFileDialog );
|
||||
|
||||
asset_open->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
|
||||
asset_open->add_filter("*.zip ; Assets ZIP File");
|
||||
asset_open->add_filter("*.zip ; "+TTR("Assets ZIP File"));
|
||||
asset_open->set_mode(EditorFileDialog::MODE_OPEN_FILE);
|
||||
add_child(asset_open);
|
||||
asset_open->connect("file_selected",this,"_asset_file_selected");
|
||||
|
|
|
@ -889,7 +889,7 @@ void AnimationKeyEditor::_menu_track(int p_type) {
|
|||
case TRACK_MENU_SET_ALL_TRANS_OUTIN: t=-2.0; break;
|
||||
}
|
||||
|
||||
undo_redo->create_action(TTR("Set Transitions to: ")+rtos(t));
|
||||
undo_redo->create_action(TTR("Set Transitions to:")+" "+rtos(t));
|
||||
|
||||
for(Map<SelectedKey,KeyInfo>::Element *E=selection.back();E;E=E->prev()) {
|
||||
|
||||
|
@ -2096,7 +2096,7 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) {
|
|||
/*
|
||||
if (ofsx < remove_icon->get_width()) {
|
||||
|
||||
undo_redo->create_action(TTR("Remove Anim Track"));
|
||||
undo_redo->create_action("Remove Anim Track");
|
||||
undo_redo->add_do_method(animation.ptr(),"remove_track",idx);
|
||||
undo_redo->add_undo_method(animation.ptr(),"add_track",animation->track_get_type(idx),idx);
|
||||
undo_redo->add_undo_method(animation.ptr(),"track_set_path",idx,animation->track_get_path(idx));
|
||||
|
@ -2129,7 +2129,7 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) {
|
|||
if (ofsx < move_down_icon->get_width()) {
|
||||
|
||||
if (idx < animation->get_track_count() -1) {
|
||||
undo_redo->create_action(TTR("Move Anim Track Down"));
|
||||
undo_redo->create_action("Move Anim Track Down");
|
||||
undo_redo->add_do_method(animation.ptr(),"track_move_up",idx);
|
||||
undo_redo->add_undo_method(animation.ptr(),"track_move_down",idx+1);
|
||||
undo_redo->commit_action();
|
||||
|
@ -2142,7 +2142,7 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) {
|
|||
if (ofsx < move_up_icon->get_width()) {
|
||||
|
||||
if (idx >0) {
|
||||
undo_redo->create_action(TTR("Move Anim Track Up"));
|
||||
undo_redo->create_action("Move Anim Track Up");
|
||||
undo_redo->add_do_method(animation.ptr(),"track_move_down",idx);
|
||||
undo_redo->add_undo_method(animation.ptr(),"track_move_up",idx-1);
|
||||
undo_redo->commit_action();
|
||||
|
@ -2893,7 +2893,7 @@ void AnimationKeyEditor::_notification(int p_what) {
|
|||
optimize_dialog->connect("confirmed",this,"_animation_optimize");
|
||||
|
||||
menu_track->get_popup()->add_child(tpp);
|
||||
//menu_track->get_popup()->add_submenu_item(TTR("Set Transitions.."),"Transitions");
|
||||
//menu_track->get_popup()->add_submenu_item("Set Transitions..","Transitions");
|
||||
//menu_track->get_popup()->add_separator();
|
||||
menu_track->get_popup()->add_item(TTR("Optimize Animation"),TRACK_MENU_OPTIMIZE);
|
||||
menu_track->get_popup()->add_item(TTR("Clean-Up Animation"),TRACK_MENU_CLEAN_UP);
|
||||
|
@ -3113,9 +3113,9 @@ void AnimationKeyEditor::_query_insert(const InsertData& p_id) {
|
|||
if (bool(EDITOR_DEF("animation/confirm_insert_track",true))) {
|
||||
//potential new key, does not exist
|
||||
if (insert_data.size()==1)
|
||||
insert_confirm->set_text(TTR("Create NEW track for ")+p_id.query+TTR(" and insert key?"));
|
||||
insert_confirm->set_text(vformat(TTR("Create NEW track for %s and insert key?"),p_id.query));
|
||||
else
|
||||
insert_confirm->set_text(TTR("Create ")+itos(insert_data.size())+TTR(" NEW tracks and insert keys?"));
|
||||
insert_confirm->set_text(vformat(TTR("Create %d NEW tracks and insert keys?"),insert_data.size()));
|
||||
|
||||
insert_confirm->get_ok()->set_text(TTR("Create"));
|
||||
insert_confirm->popup_centered_minsize();
|
||||
|
@ -3510,7 +3510,7 @@ void AnimationKeyEditor::_insert_delay() {
|
|||
return;
|
||||
}
|
||||
|
||||
undo_redo->create_action(TTR("Anim Insert"));
|
||||
undo_redo->create_action(TTR("Anim Insert"));
|
||||
|
||||
int last_track = animation->get_track_count();
|
||||
bool advance=false;
|
||||
|
@ -3818,7 +3818,7 @@ AnimationKeyEditor::AnimationKeyEditor() {
|
|||
hb->add_child( memnew( VSeparator ) );
|
||||
|
||||
Label *l = memnew( Label );
|
||||
l->set_text(TTR("Len(s):"));
|
||||
l->set_text(TTR("Length (s):"));
|
||||
hb->add_child(l);
|
||||
|
||||
length = memnew( SpinBox );
|
||||
|
@ -3833,7 +3833,7 @@ AnimationKeyEditor::AnimationKeyEditor() {
|
|||
length->connect("value_changed",this,"_animation_len_changed");
|
||||
|
||||
l = memnew( Label );
|
||||
l->set_text(TTR("Step(s):"));
|
||||
l->set_text(TTR("Step (s):"));
|
||||
hb->add_child(l);
|
||||
|
||||
step = memnew( SpinBox );
|
||||
|
@ -3929,7 +3929,7 @@ AnimationKeyEditor::AnimationKeyEditor() {
|
|||
|
||||
/*keying = memnew( Button );
|
||||
keying->set_toggle_mode(true);
|
||||
//keying->set_text(TTR("Keys"));
|
||||
//keying->set_text("Keys");
|
||||
keying->set_anchor_and_margin(MARGIN_LEFT,ANCHOR_END,60);
|
||||
keying->set_anchor_and_margin(MARGIN_RIGHT,ANCHOR_END,10);
|
||||
keying->set_anchor_and_margin(MARGIN_BOTTOM,ANCHOR_BEGIN,55);
|
||||
|
@ -3939,7 +3939,7 @@ AnimationKeyEditor::AnimationKeyEditor() {
|
|||
*/
|
||||
|
||||
/* l = memnew( Label );
|
||||
l->set_text(TTR("Base: "));
|
||||
l->set_text("Base: ");
|
||||
l->set_pos(Point2(0,3));
|
||||
// dr_panel->add_child(l);*/
|
||||
|
||||
|
@ -4089,10 +4089,10 @@ AnimationKeyEditor::AnimationKeyEditor() {
|
|||
cleanup_vb->add_child(cleanup_tracks);
|
||||
|
||||
cleanup_all = memnew( CheckButton );
|
||||
cleanup_all->set_text(TTR("Clean-Up all animations"));
|
||||
cleanup_all->set_text(TTR("Clean-up all animations"));
|
||||
cleanup_vb->add_child(cleanup_all);
|
||||
|
||||
cleanup_dialog->set_title(TTR("Clean up Animation(s) (NO UNDO!)"));
|
||||
cleanup_dialog->set_title(TTR("Clean-Up Animation(s) (NO UNDO!)"));
|
||||
cleanup_dialog->get_ok()->set_text(TTR("Clean-Up"));
|
||||
|
||||
cleanup_dialog->connect("confirmed",this,"_menu_track",varray(TRACK_MENU_CLEAN_UP_CONFIRM));
|
||||
|
|
|
@ -239,7 +239,7 @@ void CallDialog::set_object(Object *p_object,StringName p_selected) {
|
|||
return_value->clear();
|
||||
|
||||
_update_method_list();
|
||||
method_label->set_text(TTR("Method List For ' ")+p_object->get_type()+" ':");
|
||||
method_label->set_text(vformat(TTR("Method List For '%s':"),p_object->get_type()));
|
||||
}
|
||||
|
||||
CallDialog::CallDialog() {
|
||||
|
@ -323,7 +323,7 @@ CallDialog::CallDialog() {
|
|||
|
||||
label->set_begin( Point2( 15,54) );
|
||||
label->set_end( Point2( 16,44) );
|
||||
label->set_text(TTR("Parameters:"));
|
||||
label->set_text("Parameters:");
|
||||
|
||||
add_child(label);
|
||||
*/
|
||||
|
|
|
@ -216,7 +216,7 @@ void FindReplaceDialog::_replace() {
|
|||
|
||||
text_edit->set_v_scroll(vsval);
|
||||
// text_edit->set_h_scroll(hsval);
|
||||
error_label->set_text(TTR("Replaced ")+itos(rc)+TTR(" ocurrence(s)."));
|
||||
error_label->set_text(vformat(TTR("Replaced %d ocurrence(s)."),rc));
|
||||
|
||||
|
||||
//hide();
|
||||
|
@ -274,7 +274,7 @@ bool FindReplaceDialog::_search() {
|
|||
return true;
|
||||
} else {
|
||||
|
||||
set_error(TTR("Not Found!"));
|
||||
set_error(TTR("Not found!"));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -498,7 +498,7 @@ FindReplaceDialog::FindReplaceDialog() {
|
|||
|
||||
void CodeTextEditor::_line_col_changed() {
|
||||
|
||||
String text = String()+TTR("Line: ")+itos(text_editor->cursor_get_line()+1)+TTR(", Col: ")+itos(text_editor->cursor_get_column());
|
||||
String text = String()+TTR("Line:")+" "+itos(text_editor->cursor_get_line()+1)+", "+TTR("Col:")+" "+itos(text_editor->cursor_get_column());
|
||||
line_col->set_text(text);
|
||||
}
|
||||
|
||||
|
|
|
@ -294,8 +294,8 @@ void ConnectDialog::_bind_methods() {
|
|||
|
||||
ConnectDialog::ConnectDialog() {
|
||||
|
||||
int margin = get_constant("margin",TTR("Dialogs"));
|
||||
int button_margin = get_constant("button_margin",TTR("Dialogs"));
|
||||
int margin = get_constant("margin","Dialogs");
|
||||
int button_margin = get_constant("button_margin","Dialogs");
|
||||
|
||||
|
||||
Label * label = memnew( Label );
|
||||
|
@ -416,7 +416,7 @@ ConnectDialog::ConnectDialog() {
|
|||
|
||||
|
||||
/*dst_method_list = memnew( MenuButton );
|
||||
dst_method_list->set_text(TTR("List.."));
|
||||
dst_method_list->set_text("List..");
|
||||
dst_method_list->set_anchor( MARGIN_RIGHT, ANCHOR_END );
|
||||
dst_method_list->set_anchor( MARGIN_LEFT, ANCHOR_END );
|
||||
dst_method_list->set_anchor( MARGIN_TOP, ANCHOR_END );
|
||||
|
@ -429,7 +429,7 @@ ConnectDialog::ConnectDialog() {
|
|||
make_callback = memnew( CheckButton );
|
||||
make_callback->set_toggle_mode(true);
|
||||
make_callback->set_pressed( EDITOR_DEF("text_editor/create_signal_callbacks",true));
|
||||
make_callback->set_text(TTR("Make Function "));
|
||||
make_callback->set_text(TTR("Make Function"));
|
||||
dstm_hb->add_child(make_callback);
|
||||
|
||||
deferred = memnew( CheckButton );
|
||||
|
@ -447,7 +447,7 @@ ConnectDialog::ConnectDialog() {
|
|||
realtime->set_anchor( MARGIN_RIGHT, ANCHOR_END );
|
||||
realtime->set_begin( Point2( 120, button_margin-10 ) );
|
||||
realtime->set_end( Point2( 80, margin ) );
|
||||
realtime->set_text(TTR("Realtime"));
|
||||
realtime->set_text("Realtime");
|
||||
add_child(realtime);
|
||||
*/
|
||||
|
||||
|
@ -465,7 +465,7 @@ ConnectDialog::ConnectDialog() {
|
|||
add_child(error);
|
||||
error->get_ok()->set_text(TTR("Close"));
|
||||
get_ok()->set_text(TTR("Connect"));
|
||||
// error->get_cancel()->set_text(TTR("Close"));
|
||||
// error->get_cancel()->set_text("Close");
|
||||
|
||||
|
||||
|
||||
|
@ -511,7 +511,7 @@ void ConnectionsDialog::_connect() {
|
|||
StringArray args = it->get_metadata(0).operator Dictionary()["args"];
|
||||
int flags = CONNECT_PERSIST | (defer?CONNECT_DEFERRED:0) | (oshot?CONNECT_ONESHOT:0);
|
||||
|
||||
undo_redo->create_action(TTR("Connect '")+signal+"' to '"+String(dst_method)+"'");
|
||||
undo_redo->create_action(vformat(TTR("Connect '%s' to '%s'"),signal,String(dst_method)));
|
||||
undo_redo->add_do_method(node,"connect",signal,target,dst_method,binds,flags);
|
||||
undo_redo->add_undo_method(node,"disconnect",signal,target,dst_method);
|
||||
undo_redo->add_do_method(this,"update_tree");
|
||||
|
@ -610,7 +610,7 @@ void ConnectionsDialog::_remove_confirm() {
|
|||
|
||||
Dictionary meta=selected->get_metadata(0);
|
||||
|
||||
undo_redo->create_action(TTR("Remove Subscription"));
|
||||
undo_redo->create_action("Remove Subscription");
|
||||
undo_redo->add_do_method(node,"unsubscribe_path_event",meta["from_event"].operator String(),meta["from_path"].operator NodePath(),meta["to_method"].operator String());
|
||||
undo_redo->add_undo_method(node,"subscribe_path_event_persist",meta["from_event"].operator String(),meta["from_path"].operator NodePath(),meta["to_method"].operator String(),Array(),false);
|
||||
undo_redo->add_do_method(this,"update_tree");
|
||||
|
|
|
@ -251,7 +251,7 @@ void CreateDialog::_notification(int p_what) {
|
|||
void CreateDialog::set_base_type(const String& p_base) {
|
||||
|
||||
base_type=p_base;
|
||||
set_title(TTR("Create New ")+p_base);
|
||||
set_title(TTR("Create New")+" "+p_base);
|
||||
_update_search();
|
||||
}
|
||||
|
||||
|
@ -541,7 +541,7 @@ void CreateDialog::_bind_methods() {
|
|||
|
||||
void CreateDialog::set_base_type(const String& p_base) {
|
||||
|
||||
set_title(TTR("Create ")+p_base+" Type");
|
||||
set_title(vformat("Create %s Type",p_base));
|
||||
|
||||
if (base==p_base)
|
||||
return;
|
||||
|
@ -562,14 +562,14 @@ CreateDialog::CreateDialog() {
|
|||
add_child(vbc);
|
||||
set_child_rect(vbc);
|
||||
|
||||
get_ok()->set_text(TTR("Create"));
|
||||
get_ok()->set_text("Create");
|
||||
|
||||
tree = memnew( Tree );
|
||||
vbc->add_margin_child(TTR("Type:"),tree,true);
|
||||
vbc->add_margin_child("Type:",tree,true);
|
||||
//tree->set_hide_root(true);
|
||||
|
||||
filter = memnew( LineEdit );
|
||||
vbc->add_margin_child(TTR("Filter:"),filter);
|
||||
vbc->add_margin_child("Filter:",filter);
|
||||
|
||||
base="Node";
|
||||
set_as_toplevel(true);
|
||||
|
|
|
@ -27,7 +27,7 @@ void DependencyEditor::_load_pressed(Object* p_item,int p_cell,int p_button){
|
|||
String fname = ti->get_text(0);
|
||||
replacing = ti->get_text(1);
|
||||
|
||||
search->set_title(TTR("Search Replacement For: ")+replacing.get_file());
|
||||
search->set_title(TTR("Search Replacement For:")+" "+replacing.get_file());
|
||||
|
||||
search->clear_filters();
|
||||
List<String> ext;
|
||||
|
@ -180,7 +180,7 @@ void DependencyEditor::_update_list() {
|
|||
String name = path.get_file();
|
||||
|
||||
Ref<Texture> icon;
|
||||
if (has_icon(type,TTR("EditorIcons"))) {
|
||||
if (has_icon(type,"EditorIcons")) {
|
||||
icon=get_icon(type,"EditorIcons");
|
||||
} else {
|
||||
icon=get_icon("Object","EditorIcons");
|
||||
|
@ -209,15 +209,15 @@ void DependencyEditor::edit(const String& p_path) {
|
|||
|
||||
|
||||
editing=p_path;
|
||||
set_title(TTR("Dependencies For: ")+p_path.get_file());
|
||||
set_title(TTR("Dependencies For:")+" "+p_path.get_file());
|
||||
|
||||
_update_list();
|
||||
popup_centered_ratio();
|
||||
|
||||
if (EditorNode::get_singleton()->is_scene_open(p_path)) {
|
||||
EditorNode::get_singleton()->show_warning(TTR("Scene '")+p_path.get_file()+"' is currently being edited.\nChanges will not take effect unless reloaded.");
|
||||
EditorNode::get_singleton()->show_warning(vformat(TTR("Scene '%s' is currently being edited.\nChanges will not take effect unless reloaded."),p_path.get_file()));
|
||||
} else if (ResourceCache::has(p_path)) {
|
||||
EditorNode::get_singleton()->show_warning(TTR("Resource '")+p_path.get_file()+"' is in use.\nChanges will take effect when reloaded.");
|
||||
EditorNode::get_singleton()->show_warning(vformat(TTR("Resource '%s' is in use.\nChanges will take effect when reloaded."),p_path.get_file()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -301,7 +301,7 @@ void DependencyEditorOwners::_fill_owners(EditorFileSystemDirectory *efsd) {
|
|||
|
||||
Ref<Texture> icon;
|
||||
String type=efsd->get_file_type(i);
|
||||
if (!has_icon(type,TTR("EditorIcons"))) {
|
||||
if (!has_icon(type,"EditorIcons")) {
|
||||
icon=get_icon("Object","EditorIcons");
|
||||
} else {
|
||||
icon=get_icon(type,"EditorIcons");
|
||||
|
@ -319,7 +319,7 @@ void DependencyEditorOwners::show(const String& p_path) {
|
|||
_fill_owners(EditorFileSystem::get_singleton()->get_filesystem());
|
||||
popup_centered_ratio();
|
||||
|
||||
set_title(TTR("Owners Of: ")+p_path.get_file());
|
||||
set_title(TTR("Owners Of:")+" "+p_path.get_file());
|
||||
|
||||
}
|
||||
|
||||
|
@ -362,7 +362,7 @@ void DependencyRemoveDialog::_fill_owners(EditorFileSystemDirectory *efsd) {
|
|||
|
||||
Ref<Texture> icon;
|
||||
String type=efsd->get_file_type(i);
|
||||
if (!has_icon(type,TTR("EditorIcons"))) {
|
||||
if (!has_icon(type,"EditorIcons")) {
|
||||
icon=get_icon("Object","EditorIcons");
|
||||
} else {
|
||||
icon=get_icon(type,"EditorIcons");
|
||||
|
@ -448,7 +448,7 @@ void DependencyErrorDialog::show(const String& p_for_file,const Vector<String> &
|
|||
|
||||
|
||||
for_file=p_for_file;
|
||||
set_title(TTR("Error loading: ")+p_for_file.get_file());
|
||||
set_title(TTR("Error loading:")+" "+p_for_file.get_file());
|
||||
files->clear();
|
||||
|
||||
TreeItem *root = files->create_item(NULL);
|
||||
|
@ -461,7 +461,7 @@ void DependencyErrorDialog::show(const String& p_for_file,const Vector<String> &
|
|||
type=report[i].get_slice("::",1);
|
||||
|
||||
Ref<Texture> icon;
|
||||
if (!has_icon(type,TTR("EditorIcons"))) {
|
||||
if (!has_icon(type,"EditorIcons")) {
|
||||
icon=get_icon("Object","EditorIcons");
|
||||
} else {
|
||||
icon=get_icon(type,"EditorIcons");
|
||||
|
@ -523,7 +523,7 @@ void OrphanResourcesDialog::ok_pressed() {
|
|||
if (paths.empty())
|
||||
return;
|
||||
|
||||
delete_confirm->set_text(TTR("Permanently Delete ")+itos(paths.size())+" Item(s) ? (No Undo!!)");
|
||||
delete_confirm->set_text(vformat(TTR("Permanently delete %d item(s)? (No undo!)"),paths.size()));
|
||||
delete_confirm->popup_centered_minsize();
|
||||
}
|
||||
|
||||
|
@ -580,7 +580,7 @@ bool OrphanResourcesDialog::_fill_owners(EditorFileSystemDirectory *efsd,HashMap
|
|||
String type=efsd->get_file_type(i);
|
||||
|
||||
Ref<Texture> icon;
|
||||
if (has_icon(type,TTR("EditorIcons"))) {
|
||||
if (has_icon(type,"EditorIcons")) {
|
||||
icon=get_icon(type,"EditorIcons");
|
||||
} else {
|
||||
icon=get_icon("Object","EditorIcons");
|
||||
|
|
|
@ -677,7 +677,7 @@ void EditorFileDialog::update_filters() {
|
|||
if (max_filters<filters.size())
|
||||
all_filters+=", ...";
|
||||
|
||||
filter->add_item(TTR("All Recognized ( ")+all_filters+" )");
|
||||
filter->add_item(TTR("All Recognized")+" ( "+all_filters+" )");
|
||||
}
|
||||
for(int i=0;i<filters.size();i++) {
|
||||
|
||||
|
|
|
@ -314,7 +314,7 @@ void EditorFileSystem::_scan_filesystem() {
|
|||
|
||||
|
||||
|
||||
EditorProgressBG scan_progress("efs",TTR("ScanFS"),1000);
|
||||
EditorProgressBG scan_progress("efs","ScanFS",1000);
|
||||
|
||||
ScanProgress sp;
|
||||
sp.low=0;
|
||||
|
@ -609,7 +609,7 @@ void EditorFileSystem::_scan_new_dir(EditorFileSystemDirectory *p_dir,DirAccess
|
|||
|
||||
da->change_dir("..");
|
||||
} else {
|
||||
ERR_PRINTS(TTR("Can't go into subdir: ")+E->get());
|
||||
ERR_PRINTS(TTR("Cannot go into subdir:")+" "+E->get());
|
||||
}
|
||||
|
||||
p_progress.update(idx,total);
|
||||
|
|
|
@ -519,7 +519,7 @@ EditorHelpIndex::EditorHelpIndex() {
|
|||
search_box->connect("input_event", this, "_sbox_input");
|
||||
|
||||
class_list = memnew( Tree );
|
||||
vbc->add_margin_child(TTR("Class List: "), class_list, true);
|
||||
vbc->add_margin_child(TTR("Class List:")+" ", class_list, true);
|
||||
class_list->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||
|
||||
class_list->connect("item_activated",this,"_tree_item_selected");
|
||||
|
@ -710,7 +710,7 @@ Error EditorHelp::_goto_desc(const String& p_class,int p_vscr) {
|
|||
|
||||
class_desc->push_font(doc_title_font);
|
||||
class_desc->push_color(EditorSettings::get_singleton()->get("text_editor/keyword_color"));
|
||||
class_desc->add_text(TTR("Class: "));
|
||||
class_desc->add_text(TTR("Class:")+" ");
|
||||
class_desc->push_color(EditorSettings::get_singleton()->get("text_editor/base_type_color"));
|
||||
_add_text(p_class);
|
||||
class_desc->pop();
|
||||
|
@ -722,7 +722,7 @@ Error EditorHelp::_goto_desc(const String& p_class,int p_vscr) {
|
|||
|
||||
class_desc->push_color(EditorSettings::get_singleton()->get("text_editor/keyword_color"));
|
||||
class_desc->push_font(doc_title_font);
|
||||
class_desc->add_text(TTR("Inherits: "));
|
||||
class_desc->add_text(TTR("Inherits:")+" ");
|
||||
class_desc->pop();
|
||||
class_desc->pop();
|
||||
|
||||
|
@ -756,7 +756,7 @@ Error EditorHelp::_goto_desc(const String& p_class,int p_vscr) {
|
|||
if (!found) {
|
||||
class_desc->push_color(EditorSettings::get_singleton()->get("text_editor/keyword_color"));
|
||||
class_desc->push_font(doc_title_font);
|
||||
class_desc->add_text("Inherited by: ");
|
||||
class_desc->add_text(TTR("Inherited by:")+" ");
|
||||
class_desc->pop();
|
||||
class_desc->pop();
|
||||
|
||||
|
|
|
@ -240,12 +240,12 @@ static void _edit_files_with_filter(DirAccess *da,const List<String>& p_filters,
|
|||
for(const List<String>::Element *F=p_filters.front();F;F=F->next()) {
|
||||
|
||||
if (fullpath.matchn(F->get())) {
|
||||
String act = TTR("Added: ");
|
||||
String act = TTR("Added:")+" ";
|
||||
|
||||
if (!exclude) {
|
||||
r_list.insert(fullpath);
|
||||
} else {
|
||||
act = TTR("Removed: ");
|
||||
act = TTR("Removed:")+" ";
|
||||
r_list.erase(fullpath);
|
||||
}
|
||||
|
||||
|
@ -866,7 +866,7 @@ Error EditorExportPlatform::export_project_files(EditorExportSaveFunction p_func
|
|||
Error err = plugin->import2(dst_file,imd,get_image_compression(),true);
|
||||
if (err) {
|
||||
|
||||
EditorNode::add_io_error(TTR("Error saving atlas! ")+dst_file.get_file());
|
||||
EditorNode::add_io_error(TTR("Error saving atlas:")+" "+dst_file.get_file());
|
||||
return ERR_CANT_CREATE;
|
||||
}
|
||||
|
||||
|
@ -916,7 +916,7 @@ Error EditorExportPlatform::export_project_files(EditorExportSaveFunction p_func
|
|||
String path = EditorSettings::get_singleton()->get_settings_path()+"/tmp/tmpatlas.atex";
|
||||
Error err = ResourceSaver::save(path,atex);
|
||||
if (err!=OK) {
|
||||
EditorNode::add_io_error(TTR("Could not save atlas subtexture: ")+path);
|
||||
EditorNode::add_io_error(TTR("Could not save atlas subtexture:")+" "+path);
|
||||
return ERR_CANT_CREATE;
|
||||
}
|
||||
Vector<uint8_t> data = FileAccess::get_file_as_array(path);
|
||||
|
@ -1157,7 +1157,7 @@ Error EditorExportPlatform::save_pack_file(void *p_userdata,const String& p_path
|
|||
MD5Final(&ctx);
|
||||
pd->f->store_buffer(ctx.digest,16);
|
||||
}
|
||||
pd->ep->step(TTR("Storing File: ")+p_path,2+p_file*100/p_total,false);
|
||||
pd->ep->step(TTR("Storing File:")+" "+p_path,2+p_file*100/p_total,false);
|
||||
pd->count++;
|
||||
pd->ftmp->store_buffer(p_data.ptr(),p_data.size());
|
||||
if (pd->alignment > 1) {
|
||||
|
@ -1195,7 +1195,7 @@ Error EditorExportPlatform::save_zip_file(void *p_userdata,const String& p_path,
|
|||
zipWriteInFileInZip(zip,p_data.ptr(),p_data.size());
|
||||
zipCloseFileInZip(zip);
|
||||
|
||||
zd->ep->step(TTR("Storing File: ")+p_path,2+p_file*100/p_total,false);
|
||||
zd->ep->step(TTR("Storing File:")+" "+p_path,2+p_file*100/p_total,false);
|
||||
zd->count++;
|
||||
return OK;
|
||||
|
||||
|
@ -1309,7 +1309,7 @@ Error EditorExportPlatformPC::export_project(const String& p_path, bool p_debug,
|
|||
|
||||
|
||||
|
||||
EditorProgress ep("export",TTR("Exporting for ")+get_name(),102);
|
||||
EditorProgress ep("export",vformat(TTR("Exporting for %s"),get_name()),102);
|
||||
|
||||
const int BUFSIZE = 32768;
|
||||
|
||||
|
|
|
@ -432,7 +432,7 @@ void EditorNode::_rebuild_import_menu()
|
|||
{
|
||||
PopupMenu* p = import_menu->get_popup();
|
||||
p->clear();
|
||||
p->add_item(TTR("Node from scene"), FILE_IMPORT_SUBSCENE);
|
||||
p->add_item(TTR("Node From Scene"), FILE_IMPORT_SUBSCENE);
|
||||
p->add_separator();
|
||||
for (int i = 0; i < editor_import_export->get_import_plugin_count(); i++) {
|
||||
p->add_item(editor_import_export->get_import_plugin(i)->get_visible_name(), IMPORT_PLUGIN_BASE + i);
|
||||
|
@ -606,15 +606,15 @@ void EditorNode::_dialog_display_file_error(String p_file,Error p_error) {
|
|||
|
||||
case ERR_FILE_CANT_WRITE: {
|
||||
|
||||
accept->set_text(TTR("Can't open file for writing: ")+p_file.extension());
|
||||
accept->set_text(TTR("Can't open file for writing:")+" "+p_file.extension());
|
||||
} break;
|
||||
case ERR_FILE_UNRECOGNIZED: {
|
||||
|
||||
accept->set_text(TTR("File format requested unknown: ")+p_file.extension());
|
||||
accept->set_text(TTR("Requested file format unknown:")+" "+p_file.extension());
|
||||
} break;
|
||||
default: {
|
||||
|
||||
accept->set_text(TTR("Error Saving."));
|
||||
accept->set_text(TTR("Error while saving."));
|
||||
}break;
|
||||
}
|
||||
|
||||
|
@ -1071,8 +1071,8 @@ void EditorNode::_import_action(const String& p_action) {
|
|||
|
||||
current_option=-1;
|
||||
//accept->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("Ugh"));
|
||||
accept->set_text(TTR("Error importing scene."));
|
||||
accept->get_ok()->set_text("Ugh");
|
||||
accept->set_text("Error importing scene.");
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
return;
|
||||
}
|
||||
|
@ -1087,8 +1087,8 @@ void EditorNode::_import_action(const String& p_action) {
|
|||
|
||||
memdelete(src);
|
||||
//accept->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("Ugh"));
|
||||
accept->set_text(TTR("Error load scene to update."));
|
||||
accept->get_ok()->set_text("Ugh");
|
||||
accept->set_text("Error load scene to update.");
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
return;
|
||||
}
|
||||
|
@ -1128,8 +1128,8 @@ void EditorNode::_import(const String &p_file) {
|
|||
|
||||
current_option=-1;
|
||||
//accept->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("Ugh"));
|
||||
accept->set_text(TTR("Error importing scene."));
|
||||
accept->get_ok()->set_text("Ugh");
|
||||
accept->set_text("Error importing scene.");
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
return;
|
||||
}
|
||||
|
@ -1251,7 +1251,7 @@ void EditorNode::_dialog_action(String p_file) {
|
|||
current_option=-1;
|
||||
//accept->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->set_text(TTR("Can't load MeshLibrary for merging!."));
|
||||
accept->set_text(TTR("Can't load MeshLibrary for merging!"));
|
||||
accept->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -1268,7 +1268,7 @@ void EditorNode::_dialog_action(String p_file) {
|
|||
if (err) {
|
||||
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->set_text(TTR("Error saving MeshLibrary!."));
|
||||
accept->set_text(TTR("Error saving MeshLibrary!"));
|
||||
accept->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -1286,7 +1286,7 @@ void EditorNode::_dialog_action(String p_file) {
|
|||
current_option=-1;
|
||||
//accept->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->set_text(TTR("Can't load TileSet for merging!."));
|
||||
accept->set_text(TTR("Can't load TileSet for merging!"));
|
||||
accept->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -1304,7 +1304,7 @@ void EditorNode::_dialog_action(String p_file) {
|
|||
if (err) {
|
||||
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->set_text(TTR("Error saving TileSet!."));
|
||||
accept->set_text(TTR("Error saving TileSet!"));
|
||||
accept->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -1328,7 +1328,7 @@ void EditorNode::_dialog_action(String p_file) {
|
|||
}
|
||||
int ret = unzGoToFirstFile(pkg);
|
||||
|
||||
int fc=0; //coun them
|
||||
int fc=0; //count them
|
||||
|
||||
while(ret==UNZ_OK) {
|
||||
fc++;
|
||||
|
@ -1368,7 +1368,7 @@ void EditorNode::_dialog_action(String p_file) {
|
|||
|
||||
file=file.get_file();
|
||||
|
||||
p.step(TTR("Importing: ")+file,fc);
|
||||
p.step(TTR("Importing:")+" "+file,fc);
|
||||
print_line("IMPORT "+file);
|
||||
|
||||
FileAccess *f = FileAccess::open(EditorSettings::get_singleton()->get_settings_path()+"/templates/"+file,FileAccess::WRITE);
|
||||
|
@ -1454,7 +1454,7 @@ void EditorNode::_dialog_action(String p_file) {
|
|||
_update_layouts_menu();
|
||||
|
||||
if (p_file=="Default") {
|
||||
show_warning(TTR("Restored Default layout to base settings."));
|
||||
show_warning(TTR("Restored default layout to base settings."));
|
||||
}
|
||||
|
||||
} break;
|
||||
|
@ -1712,7 +1712,7 @@ void EditorNode::_edit_current() {
|
|||
_set_top_editors(sub_plugins);
|
||||
_set_editing_top_editors(current_obj);
|
||||
_display_top_editors(true);
|
||||
|
||||
|
||||
} else if (!editor_plugins_over->get_plugins_list().empty()) {
|
||||
|
||||
_hide_top_editors();
|
||||
|
@ -1769,7 +1769,7 @@ void EditorNode::_edit_current() {
|
|||
}
|
||||
|
||||
//p->add_separator();
|
||||
//p->add_item(TTR("All Methods"),OBJECT_CALL_METHOD);
|
||||
//p->add_item("All Methods",OBJECT_CALL_METHOD);
|
||||
|
||||
|
||||
update_keying();
|
||||
|
@ -1832,7 +1832,7 @@ void EditorNode::_run(bool p_current,const String& p_custom) {
|
|||
current_option=-1;
|
||||
//accept->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->set_text(TTR("No scene to run exists."));
|
||||
accept->set_text(TTR("There is no defined scene to run."));
|
||||
accept->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -1896,7 +1896,7 @@ void EditorNode::_run(bool p_current,const String& p_custom) {
|
|||
current_option=-1;
|
||||
//accept->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->set_text(TTR("Current scene was never saved, please save scene before running."));
|
||||
accept->set_text(TTR("Current scene was never saved, please save it prior to running."));
|
||||
accept->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -1998,11 +1998,12 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
switch( p_option ) {
|
||||
case FILE_NEW_SCENE: {
|
||||
|
||||
// TODO: Drop such obsolete commented code
|
||||
/*
|
||||
if (!p_confirmed) {
|
||||
confirmation->get_ok()->set_text(TTR("Yes"));
|
||||
confirmation->get_ok()->set_text("Yes");
|
||||
//confirmation->get_cancel()->show();
|
||||
confirmation->set_text(TTR("Start a New Scene? (Current will be lost)"));
|
||||
confirmation->set_text("Start a New Scene? (Current will be lost)");
|
||||
confirmation->popup_centered_minsize();
|
||||
break;
|
||||
}*/
|
||||
|
@ -2058,7 +2059,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
|
||||
|
||||
//quick_open->popup("Resource", false, true);
|
||||
//quick_open->set_title(TTR("Quick Search File.."));
|
||||
//quick_open->set_title("Quick Search File..");
|
||||
scenes_dock->focus_on_filter();
|
||||
|
||||
} break;
|
||||
|
@ -2221,7 +2222,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
|
||||
current_option=-1;
|
||||
//confirmation->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->get_ok()->set_text("I see..");
|
||||
accept->set_text("This operation can't be done without a tree root.");
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
break;
|
||||
|
@ -2243,8 +2244,8 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
} else {
|
||||
current_option=-1;
|
||||
//confirmation->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->set_text(TTR("Please save the scene first."));
|
||||
accept->get_ok()->set_text("I see..");
|
||||
accept->set_text("Please save the scene first.");
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
break;
|
||||
|
||||
|
@ -2259,7 +2260,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
String target = export_db->get_current_platform();
|
||||
Ref<EditorExporter> exporter = export_db->get_exporter(target);
|
||||
if (exporter.is_null()) {
|
||||
accept->set_text(TTR("No exporter for platform '")+target+"' yet.");
|
||||
accept->set_text("No exporter for platform '"+target+"' yet.");
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
return;
|
||||
}
|
||||
|
@ -2343,7 +2344,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
|
||||
confirmation->get_ok()->set_text(TTR("Quit"));
|
||||
//confirmation->get_cancel()->show();
|
||||
confirmation->set_text(TTR("Exit the Editor?"));
|
||||
confirmation->set_text(TTR("Exit the editor?"));
|
||||
confirmation->popup_centered(Size2(180,70));
|
||||
break;
|
||||
}
|
||||
|
@ -2411,7 +2412,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
String filename = scene->get_filename();
|
||||
|
||||
if (filename==String()) {
|
||||
show_warning(TTR("Can't reload a scene that was never saved.."));
|
||||
show_warning(TTR("Can't reload a scene that was never saved."));
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -2440,7 +2441,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
|
||||
current_option=-1;
|
||||
//accept->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->get_ok()->set_text("I see..");
|
||||
accept->set_text("This operation can't be done without a selected node.");
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
break;
|
||||
|
@ -2452,7 +2453,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
|
||||
current_option=-1;
|
||||
//confirmation->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->get_ok()->set_text("I see..");
|
||||
accept->set_text("This operation can't be done without a selected node.");
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
break;
|
||||
|
@ -2464,8 +2465,8 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
|
||||
current_option=-1;
|
||||
//accept->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("Ugh"));
|
||||
accept->set_text(String(TTR("Error loading scene from "))+external_file);
|
||||
accept->get_ok()->set_text("Ugh");
|
||||
accept->set_text("Error loading scene from "+external_file);
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
return;
|
||||
}
|
||||
|
@ -2473,7 +2474,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
instanced_scene->generate_instance_state();
|
||||
instanced_scene->set_filename( Globals::get_singleton()->localize_path(external_file) );
|
||||
|
||||
editor_data.get_undo_redo().create_action(TTR("Instance Scene"));
|
||||
editor_data.get_undo_redo().create_action("Instance Scene");
|
||||
editor_data.get_undo_redo().add_do_method(parent,"add_child",instanced_scene);
|
||||
editor_data.get_undo_redo().add_do_method(instanced_scene,"set_owner",edited_scene);
|
||||
editor_data.get_undo_redo().add_do_reference(instanced_scene);
|
||||
|
@ -2703,11 +2704,11 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
if (ischecked) {
|
||||
file_server->stop();
|
||||
//debug_button->set_icon(gui_base->get_icon("FileServer","EditorIcons"));
|
||||
//debug_button->get_popup()->set_item_text( debug_button->get_popup()->get_item_index(RUN_FILE_SERVER),TTR("Enable File Server"));
|
||||
//debug_button->get_popup()->set_item_text( debug_button->get_popup()->get_item_index(RUN_FILE_SERVER),"Enable File Server");
|
||||
} else {
|
||||
file_server->start();
|
||||
//debug_button->set_icon(gui_base->get_icon("FileServerActive","EditorIcons"));
|
||||
//debug_button->get_popup()->set_item_text( debug_button->get_popup()->get_item_index(RUN_FILE_SERVER),TTR("Disable File Server"));
|
||||
//debug_button->get_popup()->set_item_text( debug_button->get_popup()->get_item_index(RUN_FILE_SERVER),"Disable File Server");
|
||||
}
|
||||
|
||||
debug_button->get_popup()->set_item_checked( debug_button->get_popup()->get_item_index(RUN_FILE_SERVER),!ischecked);
|
||||
|
@ -2819,9 +2820,9 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
if (!p_confirmed) {
|
||||
|
||||
|
||||
confirmation->get_ok()->set_text(TTR("Open"));
|
||||
confirmation->get_ok()->set_text("Open");
|
||||
//confirmation->get_cancel()->show();
|
||||
confirmation->set_text(TTR("Current scene changed, save and re-import ?"));
|
||||
confirmation->set_text("Current scene changed, save and re-import ?");
|
||||
confirmation->popup_centered(Size2(300,70));
|
||||
break;
|
||||
|
||||
|
@ -2834,8 +2835,8 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
|
|||
|
||||
current_option=-1;
|
||||
//accept->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->set_text(TTR("Can't import if edited scene was not saved.")); //i dont think this code will ever run
|
||||
accept->get_ok()->set_text("I see..");
|
||||
accept->set_text("Can't import if edited scene was not saved."); //i dont think this code will ever run
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
break;
|
||||
|
||||
|
@ -3251,7 +3252,7 @@ Error EditorNode::save_optimized_copy(const String& p_scene,const String& p_pres
|
|||
if (!get_edited_scene()) {
|
||||
|
||||
get_scene()->quit();
|
||||
ERR_EXPLAIN(TTR("No scene to optimize (loading failed?"));
|
||||
ERR_EXPLAIN("No scene to optimize (loading failed?)");
|
||||
ERR_FAIL_V(ERR_FILE_NOT_FOUND);
|
||||
}
|
||||
|
||||
|
@ -3276,10 +3277,10 @@ Error EditorNode::save_optimized_copy(const String& p_scene,const String& p_pres
|
|||
if (!Globals::get_singleton()->has(preset)) {
|
||||
|
||||
//accept->"()->hide();
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->set_text(TTR("Optimizer preset not found: ")+p_preset);
|
||||
accept->get_ok()->set_text("I see..");
|
||||
accept->set_text("Optimizer preset not found: "+p_preset);
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
ERR_EXPLAIN(TTR("Optimizer preset not found: ")+p_preset);
|
||||
ERR_EXPLAIN("Optimizer preset not found: "+p_preset);
|
||||
ERR_FAIL_V(ERR_INVALID_PARAMETER);
|
||||
|
||||
}
|
||||
|
@ -3299,7 +3300,7 @@ Error EditorNode::save_optimized_copy(const String& p_scene,const String& p_pres
|
|||
}
|
||||
}
|
||||
|
||||
ERR_EXPLAIN(TTR("Preset '")+p_preset+"' references nonexistent saver: "+type);
|
||||
ERR_EXPLAIN("Preset '"+p_preset+"' references nonexistent saver: "+type);
|
||||
ERR_FAIL_COND_V(saver.is_null(),ERR_INVALID_DATA);
|
||||
|
||||
List<Variant> keys;
|
||||
|
@ -3334,8 +3335,8 @@ Error EditorNode::save_optimized_copy(const String& p_scene,const String& p_pres
|
|||
|
||||
current_option=-1;
|
||||
//accept->get_cancel()->hide();
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->set_text(TTR("Couldn't save scene. Likely dependencies (instances) couldn't be satisfied."));
|
||||
accept->get_ok()->set_text("I see..");
|
||||
accept->set_text("Couldn't save scene. Likely dependencies (instances) couldn't be satisfied.");
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
return ERR_INVALID_DATA;
|
||||
|
||||
|
@ -3345,8 +3346,8 @@ Error EditorNode::save_optimized_copy(const String& p_scene,const String& p_pres
|
|||
if (err) {
|
||||
|
||||
//accept->"()->hide();
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->set_text(TTR("Error saving optimized scene: ")+path);
|
||||
accept->get_ok()->set_text("I see..");
|
||||
accept->set_text("Error saving optimized scene: "+path);
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
|
||||
ERR_FAIL_COND_V(err,err);
|
||||
|
@ -3635,7 +3636,7 @@ Error EditorNode::load_scene(const String& p_scene, bool p_ignore_broken_deps,bo
|
|||
|
||||
for (Map<String,Set<String> >::Element *E=dependency_errors.front();E;E=E->next()) {
|
||||
|
||||
String txt=TTR("Scene '")+E->key()+"' has broken dependencies:\n";
|
||||
String txt=vformat(TTR("Scene '%s' has broken dependencies:"),E->key())+"\n";
|
||||
for(Set<String>::Element *F=E->get().front();F;F=F->next()) {
|
||||
txt+="\t"+F->get()+"\n";
|
||||
}
|
||||
|
@ -3916,8 +3917,8 @@ void EditorNode::_save_optimized() {
|
|||
if (err) {
|
||||
|
||||
//accept->"()->hide();
|
||||
accept->get_ok()->set_text(TTR("I see.."));
|
||||
accept->set_text(TTR("Error saving optimized scene: ")+path);
|
||||
accept->get_ok()->set_text("I see..");
|
||||
accept->set_text("Error saving optimized scene: "+path);
|
||||
accept->popup_centered(Size2(300,70));;
|
||||
return;
|
||||
|
||||
|
@ -4949,7 +4950,7 @@ Variant EditorNode::drag_files(const Vector<String>& p_files, Control *p_from){
|
|||
if (p_files.size()>max_files) {
|
||||
|
||||
Label* label=memnew( Label );
|
||||
label->set_text(itos(p_files.size()-max_files)+" "+TTR("More File(s)"));
|
||||
label->set_text(vformat(TTR("%d more file(s)"), p_files.size()-max_files));
|
||||
files->add_child(label);
|
||||
|
||||
}
|
||||
|
@ -4980,7 +4981,7 @@ Variant EditorNode::drag_files_and_dirs(const Vector<String>& p_files, Control *
|
|||
if (p_files.size()>max_files) {
|
||||
|
||||
Label* label=memnew( Label );
|
||||
label->set_text(itos(p_files.size()-max_files)+" "+TTR("More File(s) and/or Directory(s)"));
|
||||
label->set_text(vformat(TTR("%d more file(s) or folder(s)"), p_files.size()-max_files));
|
||||
files->add_child(label);
|
||||
|
||||
}
|
||||
|
@ -5151,7 +5152,7 @@ EditorNode::EditorNode() {
|
|||
ObjectTypeDB::set_type_enabled("CollisionShape",true);
|
||||
ObjectTypeDB::set_type_enabled("CollisionShape2D",true);
|
||||
ObjectTypeDB::set_type_enabled("CollisionPolygon2D",true);
|
||||
//ObjectTypeDB::set_type_enabled(TTR("BodyVolumeConvexPolygon"),true);
|
||||
//ObjectTypeDB::set_type_enabled("BodyVolumeConvexPolygon",true);
|
||||
|
||||
gui_base = memnew( Panel );
|
||||
add_child(gui_base);
|
||||
|
@ -5512,20 +5513,20 @@ EditorNode::EditorNode() {
|
|||
menu_panel->add_child( node_menu );
|
||||
|
||||
p=node_menu->get_popup();
|
||||
p->add_item(TTR("Create"),NODE_CREATE);
|
||||
p->add_item(TTR("Instance"),NODE_INSTANCE);
|
||||
p->add_item("Create",NODE_CREATE);
|
||||
p->add_item("Instance",NODE_INSTANCE);
|
||||
p->add_separator();
|
||||
p->add_item(TTR("Reparent"),NODE_REPARENT);
|
||||
p->add_item(TTR("Move Up"),NODE_MOVE_UP);
|
||||
p->add_item(TTR("Move Down"),NODE_MOVE_DOWN);
|
||||
p->add_item("Reparent",NODE_REPARENT);
|
||||
p->add_item("Move Up",NODE_MOVE_UP);
|
||||
p->add_item("Move Down",NODE_MOVE_DOWN);
|
||||
p->add_separator();
|
||||
p->add_item(TTR("Duplicate"),NODE_DUPLICATE);
|
||||
p->add_item("Duplicate",NODE_DUPLICATE);
|
||||
p->add_separator();
|
||||
p->add_item(TTR("Remove (Branch)"),NODE_REMOVE_BRANCH);
|
||||
p->add_item(TTR("Remove (Element)"),NODE_REMOVE_ELEMENT);
|
||||
p->add_item("Remove (Branch)",NODE_REMOVE_BRANCH);
|
||||
p->add_item("Remove (Element)",NODE_REMOVE_ELEMENT);
|
||||
p->add_separator();
|
||||
p->add_item(TTR("Edit Subscriptions.."),NODE_CONNECTIONS);
|
||||
p->add_item(TTR("Edit Groups.."),NODE_GROUPS);
|
||||
p->add_item("Edit Subscriptions..",NODE_CONNECTIONS);
|
||||
p->add_item("Edit Groups..",NODE_GROUPS);
|
||||
|
||||
resource_menu = memnew( MenuButton );
|
||||
resource_menu->set_text("Resource");
|
||||
|
@ -5543,7 +5544,7 @@ EditorNode::EditorNode() {
|
|||
p->connect("item_pressed",this,"_menu_option");
|
||||
|
||||
tool_menu = memnew( MenuButton );
|
||||
tool_menu->set_tooltip(TTR("Miscelaneous project or scene wide tools."));
|
||||
tool_menu->set_tooltip(TTR("Miscellaneous project or scene-wide tools."));
|
||||
tool_menu->set_text(TTR("Tools"));
|
||||
|
||||
//tool_menu->set_icon(gui_base->get_icon("Save","EditorIcons"));
|
||||
|
@ -5602,6 +5603,7 @@ EditorNode::EditorNode() {
|
|||
pause_button->set_disabled(true);
|
||||
play_hb->add_child(pause_button);
|
||||
|
||||
|
||||
stop_button = memnew( ToolButton );
|
||||
play_hb->add_child(stop_button);
|
||||
//stop_button->set_toggle_mode(true);
|
||||
|
@ -5636,7 +5638,7 @@ EditorNode::EditorNode() {
|
|||
play_custom_scene_button->set_focus_mode(Control::FOCUS_NONE);
|
||||
play_custom_scene_button->set_icon(gui_base->get_icon("PlayCustom","EditorIcons"));
|
||||
play_custom_scene_button->connect("pressed", this,"_menu_option",make_binds(RUN_PLAY_CUSTOM_SCENE));
|
||||
play_custom_scene_button->set_tooltip(TTR("Play custom scene (")+keycode_get_string(KEY_MASK_CMD|KEY_MASK_SHIFT|KEY_F5)+").");
|
||||
play_custom_scene_button->set_tooltip(TTR("Play custom scene")+" ("+keycode_get_string(KEY_MASK_CMD|KEY_MASK_SHIFT|KEY_F5)+").");
|
||||
|
||||
debug_button = memnew( MenuButton );
|
||||
debug_button->set_flat(true);
|
||||
|
@ -5645,7 +5647,7 @@ EditorNode::EditorNode() {
|
|||
debug_button->set_focus_mode(Control::FOCUS_NONE);
|
||||
debug_button->set_icon(gui_base->get_icon("Remote","EditorIcons"));
|
||||
//debug_button->connect("pressed", this,"_menu_option",make_binds(RUN_LIVE_DEBUG));
|
||||
debug_button->set_tooltip(TTR("Debug Options"));
|
||||
debug_button->set_tooltip(TTR("Debug options"));
|
||||
|
||||
p=debug_button->get_popup();
|
||||
p->add_check_item(TTR("Live Editing"),RUN_LIVE_DEBUG);
|
||||
|
@ -5723,9 +5725,9 @@ EditorNode::EditorNode() {
|
|||
right_menu_hb->add_child( settings_menu );
|
||||
p=settings_menu->get_popup();
|
||||
|
||||
//p->add_item(TTR("Export Settings"),SETTINGS_EXPORT_PREFERENCES);
|
||||
//p->add_item("Export Settings",SETTINGS_EXPORT_PREFERENCES);
|
||||
p->add_item(TTR("Editor Settings"),SETTINGS_PREFERENCES);
|
||||
//p->add_item(TTR("Optimization Presets"),SETTINGS_OPTIMIZED_PRESETS);
|
||||
//p->add_item("Optimization Presets",SETTINGS_OPTIMIZED_PRESETS);
|
||||
p->add_separator();
|
||||
editor_layouts = memnew( PopupMenu );
|
||||
editor_layouts->set_name("Layouts");
|
||||
|
@ -5783,7 +5785,7 @@ EditorNode::EditorNode() {
|
|||
dock_slot[DOCK_SLOT_LEFT_UR]->add_child(scene_tree_dock);
|
||||
#if 0
|
||||
resources_dock = memnew( ResourcesDock(this) );
|
||||
resources_dock->set_name(TTR("Resources"));
|
||||
resources_dock->set_name("Resources");
|
||||
//top_pallete->add_child(resources_dock);
|
||||
dock_slot[DOCK_SLOT_RIGHT_BL]->add_child(resources_dock);
|
||||
//top_pallete->set_v_size_flags(Control::SIZE_EXPAND_FILL);
|
||||
|
@ -5817,21 +5819,21 @@ EditorNode::EditorNode() {
|
|||
prop_editor_base->add_child(prop_editor_hb);
|
||||
|
||||
resource_new_button = memnew( ToolButton );
|
||||
resource_new_button->set_tooltip(TTR("Create a new resource in memory and edit it"));
|
||||
resource_new_button->set_tooltip(TTR("Create a new resource in memory and edit it."));
|
||||
resource_new_button->set_icon(gui_base->get_icon("New","EditorIcons"));
|
||||
prop_editor_hb->add_child(resource_new_button);
|
||||
resource_new_button->connect("pressed",this,"_menu_option",varray(RESOURCE_NEW));
|
||||
resource_new_button->set_focus_mode(Control::FOCUS_NONE);
|
||||
|
||||
resource_load_button = memnew( ToolButton );
|
||||
resource_load_button->set_tooltip(TTR("Load an existing resource from disk and edit it"));
|
||||
resource_load_button->set_tooltip(TTR("Load an existing resource from disk and edit it."));
|
||||
resource_load_button->set_icon(gui_base->get_icon("Load","EditorIcons"));
|
||||
prop_editor_hb->add_child(resource_load_button);
|
||||
resource_load_button->connect("pressed",this,"_menu_option",varray(RESOURCE_LOAD));
|
||||
resource_load_button->set_focus_mode(Control::FOCUS_NONE);
|
||||
|
||||
resource_save_button = memnew( MenuButton );
|
||||
resource_save_button->set_tooltip(TTR("Save the currently edited resource"));
|
||||
resource_save_button->set_tooltip(TTR("Save the currently edited resource."));
|
||||
resource_save_button->set_icon(gui_base->get_icon("Save","EditorIcons"));
|
||||
prop_editor_hb->add_child(resource_save_button);
|
||||
resource_save_button->get_popup()->add_item(TTR("Save"),RESOURCE_SAVE);
|
||||
|
@ -5860,7 +5862,7 @@ EditorNode::EditorNode() {
|
|||
|
||||
|
||||
editor_history_menu = memnew( MenuButton );
|
||||
editor_history_menu->set_tooltip(TTR("History of recently edited objects"));
|
||||
editor_history_menu->set_tooltip(TTR("History of recently edited objects."));
|
||||
editor_history_menu->set_icon( gui_base->get_icon("History","EditorIcons"));
|
||||
prop_editor_hb->add_child(editor_history_menu);
|
||||
editor_history_menu->connect("about_to_show",this,"_prepare_history");
|
||||
|
@ -5896,7 +5898,7 @@ EditorNode::EditorNode() {
|
|||
prop_editor_base->add_child(search_bar);
|
||||
search_bar->hide();
|
||||
|
||||
Label *l = memnew( Label(TTR("Search: ")) );
|
||||
Label *l = memnew( Label(TTR("Search:")+" ") );
|
||||
search_bar->add_child(l);
|
||||
|
||||
search_box = memnew( LineEdit );
|
||||
|
@ -6081,7 +6083,7 @@ EditorNode::EditorNode() {
|
|||
|
||||
|
||||
about = memnew( AcceptDialog );
|
||||
about->set_title(TTR("Thanks so Much!"));
|
||||
about->set_title(TTR("Thanks from the Godot community!"));
|
||||
//about->get_cancel()->hide();
|
||||
about->get_ok()->set_text(TTR("Thanks!"));
|
||||
about->set_hide_on_ok(true);
|
||||
|
@ -6101,7 +6103,7 @@ EditorNode::EditorNode() {
|
|||
|
||||
|
||||
file_templates = memnew( FileDialog );
|
||||
file_templates->set_title(TTR("Import Templates from ZIP file"));
|
||||
file_templates->set_title(TTR("Import Templates From ZIP File"));
|
||||
|
||||
gui_base->add_child( file_templates );
|
||||
file_templates->set_mode(FileDialog::MODE_OPEN_FILE);
|
||||
|
@ -6396,7 +6398,7 @@ EditorNode::EditorNode() {
|
|||
|
||||
|
||||
EditorNode::~EditorNode() {
|
||||
|
||||
|
||||
memdelete( EditorHelp::get_doc_data() );
|
||||
memdelete(editor_selection);
|
||||
memdelete(editor_plugins_over);
|
||||
|
@ -6462,6 +6464,6 @@ EditorPluginList::EditorPluginList() {
|
|||
|
||||
EditorPluginList::~EditorPluginList() {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -451,7 +451,7 @@ private:
|
|||
void _display_top_editors(bool p_display);
|
||||
void _set_top_editors(Vector<EditorPlugin*> p_editor_plugins_over);
|
||||
void _set_editing_top_editors(Object * p_current_object);
|
||||
|
||||
|
||||
void _quick_opened();
|
||||
void _quick_run();
|
||||
|
||||
|
@ -748,7 +748,7 @@ public:
|
|||
EditorPluginList();
|
||||
~EditorPluginList();
|
||||
|
||||
} ;
|
||||
} ;
|
||||
|
||||
struct EditorProgressBG {
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
void EditorReImportDialog::popup_reimport() {
|
||||
|
||||
if (EditorFileSystem::get_singleton()->is_scanning()) {
|
||||
error->set_text(TTR("Please wait for scan to complete"));
|
||||
error->set_text(TTR("Please wait for scan to complete."));
|
||||
error->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -92,7 +92,7 @@ void EditorReImportDialog::popup_reimport() {
|
|||
void EditorReImportDialog::ok_pressed() {
|
||||
|
||||
if (EditorFileSystem::get_singleton()->is_scanning()) {
|
||||
error->set_text(TTR("Please wait for scan to complete"));
|
||||
error->set_text(TTR("Please wait for scan to complete."));
|
||||
error->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -9,12 +9,12 @@
|
|||
void EditorScript::add_root_node(Node *p_node) {
|
||||
|
||||
if (!editor) {
|
||||
EditorNode::add_io_error(TTR("EditorScript::add_root_node : Write your logic in the _run() method."));
|
||||
EditorNode::add_io_error("EditorScript::add_root_node: "+TTR("Write your logic in the _run() method."));
|
||||
return;
|
||||
}
|
||||
|
||||
if (editor->get_edited_scene()) {
|
||||
EditorNode::add_io_error(TTR("EditorScript::add_root_node : There is an edited scene already."));
|
||||
EditorNode::add_io_error("EditorScript::add_root_node: "+TTR("There is an edited scene already."));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@ void EditorScript::add_root_node(Node *p_node) {
|
|||
Node *EditorScript::get_scene() {
|
||||
|
||||
if (!editor) {
|
||||
EditorNode::add_io_error(TTR("EditorScript::get_scene : Write your logic in the _run() method."));
|
||||
EditorNode::add_io_error("EditorScript::get_scene: "+TTR("Write your logic in the _run() method."));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@ void EditorScript::_run() {
|
|||
Ref<Script> s = get_script();
|
||||
ERR_FAIL_COND(!s.is_valid());
|
||||
if (!get_script_instance()) {
|
||||
EditorNode::add_io_error("Couldn't instance script:\n "+s->get_path()+"\nDid you forget the 'tool' keyword?");
|
||||
EditorNode::add_io_error(TTR("Couldn't instance script:")+"\n "+s->get_path()+"\n"+TTR("Did you forget the 'tool' keyword?"));
|
||||
return;
|
||||
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ void EditorScript::_run() {
|
|||
get_script_instance()->call("_run",NULL,0,ce);
|
||||
if (ce.error!=Variant::CallError::CALL_OK) {
|
||||
|
||||
EditorNode::add_io_error("Couldn't run script:\n "+s->get_path()+"\nDid you forget the '_run' method?");
|
||||
EditorNode::add_io_error(TTR("Couldn't run script:")+"\n "+s->get_path()+"\n"+TTR("Did you forget the '_run' method?"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -263,7 +263,7 @@ void EditorSettings::create() {
|
|||
|
||||
memdelete(dir);
|
||||
|
||||
singleton = ResourceLoader::load(config_file_path,TTR("EditorSettings"));
|
||||
singleton = ResourceLoader::load(config_file_path,"EditorSettings");
|
||||
if (singleton.is_null()) {
|
||||
WARN_PRINT("Could not open config file.");
|
||||
goto fail;
|
||||
|
@ -464,7 +464,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
|
|||
set("2d_editor/bone_color2",Color(0.75,0.75,0.75,0.9));
|
||||
set("2d_editor/bone_selected_color",Color(0.9,0.45,0.45,0.9));
|
||||
set("2d_editor/bone_ik_color",Color(0.9,0.9,0.45,0.9));
|
||||
|
||||
|
||||
set("2d_editor/keep_margins_when_changing_anchors", false);
|
||||
|
||||
set("game_window_placement/rect",0);
|
||||
|
@ -505,7 +505,8 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
|
|||
#else
|
||||
hints["import/pvrtc_texture_tool"]=PropertyInfo(Variant::STRING,"import/pvrtc_texture_tool",PROPERTY_HINT_GLOBAL_FILE,"");
|
||||
#endif
|
||||
set(TTR("PVRTC/fast_conversion"),false);
|
||||
// TODO: Rename to "import/pvrtc_fast_conversion" to match other names?
|
||||
set("PVRTC/fast_conversion",false);
|
||||
|
||||
|
||||
set("run/auto_save_before_running",true);
|
||||
|
|
|
@ -198,7 +198,7 @@ EditorSubScene::EditorSubScene() {
|
|||
|
||||
scene=NULL;
|
||||
|
||||
set_title(TTR("Select Sub-Scene.."));
|
||||
set_title(TTR("Select Node(s) to Import"));
|
||||
set_hide_on_ok(false);
|
||||
|
||||
VBoxContainer *vb = memnew( VBoxContainer );
|
||||
|
|
|
@ -278,7 +278,7 @@ ImportSettingsDialog::ImportSettingsDialog(EditorNode *p_editor) {
|
|||
set_child_rect(tree);
|
||||
set_title(TTR("Imported Resources"));
|
||||
|
||||
texformat=TTR("Keep,None,Disk,VRAM");
|
||||
// texformat="Keep,None,Disk,VRAM";
|
||||
|
||||
tree->set_hide_root(true);
|
||||
tree->set_columns(2);
|
||||
|
@ -288,7 +288,7 @@ ImportSettingsDialog::ImportSettingsDialog(EditorNode *p_editor) {
|
|||
tree->connect("item_edited",this,"_item_edited");
|
||||
tree->connect("button_pressed",this,"_button_pressed");
|
||||
|
||||
// add_button(TTR("Re-Import"),"reimport");
|
||||
// add_button("Re-Import","reimport");
|
||||
get_ok()->set_text(TTR("Re-Import"));
|
||||
get_cancel()->set_text(TTR("Close"));
|
||||
|
||||
|
|
|
@ -527,7 +527,7 @@ class EditorFontImportDialog : public ConfirmationDialog {
|
|||
Ref<ResourceImportMetadata> rimd = get_rimd();
|
||||
|
||||
if (rimd.is_null()) {
|
||||
error_dialog->set_text(TTR("Can't load/process source font"));
|
||||
error_dialog->set_text(TTR("Can't load/process source font."));
|
||||
error_dialog->popup_centered(Size2(200,100));
|
||||
return;
|
||||
}
|
||||
|
@ -657,14 +657,14 @@ public:
|
|||
testhb->add_child(test_color);
|
||||
|
||||
vbl->add_spacer();
|
||||
vbl->add_margin_child(TTR("Test: "),testhb);
|
||||
vbl->add_margin_child(TTR("Test:")+" ",testhb);
|
||||
/*
|
||||
HBoxContainer *upd_hb = memnew( HBoxContainer );
|
||||
// vbl->add_child(upd_hb);
|
||||
upd_hb->add_spacer();
|
||||
Button *update = memnew( Button);
|
||||
upd_hb->add_child(update);
|
||||
update->set_text(TTR("Update"));
|
||||
update->set_text("Update");
|
||||
update->connect("pressed",this,"_update");
|
||||
*/
|
||||
options = memnew( _EditorFontImportOptions );
|
||||
|
@ -887,7 +887,7 @@ Ref<BitmapFont> EditorFontImportPlugin::generate_font(const Ref<ResourceImportMe
|
|||
if (src_path.extension().to_lower()=="fnt") {
|
||||
|
||||
if (ResourceLoader::load(src_path).is_valid()) {
|
||||
EditorNode::get_singleton()->show_warning(TTR("Path: ")+src_path+"\nIs a Godot font file, please supply a BMFont type file instead.");
|
||||
EditorNode::get_singleton()->show_warning(TTR("Path:")+" "+src_path+"\n"+TTR("This file is already a Godot font file, please supply a BMFont type file instead."));
|
||||
return Ref<BitmapFont>();
|
||||
}
|
||||
|
||||
|
@ -895,7 +895,7 @@ Ref<BitmapFont> EditorFontImportPlugin::generate_font(const Ref<ResourceImportMe
|
|||
font.instance();
|
||||
Error err = font->create_from_fnt(src_path);
|
||||
if (err) {
|
||||
EditorNode::get_singleton()->show_warning(TTR("Path: ")+src_path+"\nFailed opening as BMFont file.");
|
||||
EditorNode::get_singleton()->show_warning(TTR("Path:")+" "+src_path+"\n"+TTR("Failed opening as BMFont file."));
|
||||
return Ref<BitmapFont>();
|
||||
}
|
||||
|
||||
|
@ -939,7 +939,7 @@ Ref<BitmapFont> EditorFontImportPlugin::generate_font(const Ref<ResourceImportMe
|
|||
|
||||
if ( error ) {
|
||||
FT_Done_FreeType( library );
|
||||
ERR_EXPLAIN(TTR("Invalid font size. "));
|
||||
ERR_EXPLAIN(TTR("Invalid font size."));
|
||||
ERR_FAIL_COND_V( error,Ref<BitmapFont>() );
|
||||
|
||||
}
|
||||
|
@ -986,7 +986,7 @@ Ref<BitmapFont> EditorFontImportPlugin::generate_font(const Ref<ResourceImportMe
|
|||
if ( !fa ) {
|
||||
|
||||
FT_Done_FreeType( library );
|
||||
ERR_EXPLAIN(TTR("Invalid font custom source. "));
|
||||
ERR_EXPLAIN(TTR("Invalid font custom source."));
|
||||
ERR_FAIL_COND_V( !fa,Ref<BitmapFont>() );
|
||||
|
||||
}
|
||||
|
|
|
@ -207,6 +207,13 @@ public:
|
|||
return;
|
||||
}
|
||||
|
||||
String dst = save_path->get_text();
|
||||
if (dst=="") {
|
||||
error_dialog->set_text(TTR("Save path is empty!"));
|
||||
error_dialog->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
||||
for(int i=0;i<meshes.size();i++) {
|
||||
|
||||
Ref<ResourceImportMetadata> imd = memnew( ResourceImportMetadata );
|
||||
|
@ -224,16 +231,9 @@ public:
|
|||
|
||||
imd->add_source(EditorImportPlugin::validate_source_path(meshes[i]));
|
||||
|
||||
String dst = save_path->get_text();
|
||||
if (dst=="") {
|
||||
error_dialog->set_text(TTR("Save path is empty!"));
|
||||
error_dialog->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
String file_path = dst.plus_file(meshes[i].get_file().basename()+".msh");
|
||||
|
||||
dst = dst.plus_file(meshes[i].get_file().basename()+".msh");
|
||||
|
||||
plugin->import(dst,imd);
|
||||
plugin->import(file_path,imd);
|
||||
}
|
||||
|
||||
hide();
|
||||
|
@ -362,7 +362,7 @@ Error EditorMeshImportPlugin::import(const String& p_path, const Ref<ResourceImp
|
|||
if (mesh->surface_get_name(i)!="")
|
||||
name=mesh->surface_get_name(i);
|
||||
else
|
||||
name=TTR("Surface ")+itos(i+1);
|
||||
name=vformat(TTR("Surface %d"),i+1);
|
||||
|
||||
name_map[name]=mesh->surface_get_material(i);
|
||||
}
|
||||
|
@ -498,7 +498,7 @@ Error EditorMeshImportPlugin::import(const String& p_path, const Ref<ResourceImp
|
|||
surf_tool->index();
|
||||
mesh = surf_tool->commit(mesh);
|
||||
if (name=="")
|
||||
name=TTR("Surface ")+itos(mesh->get_surface_count()-1);
|
||||
name=vformat(TTR("Surface %d"),mesh->get_surface_count()-1);
|
||||
mesh->surface_set_name(mesh->get_surface_count()-1,name);
|
||||
name="";
|
||||
surf_tool->clear();
|
||||
|
|
|
@ -262,7 +262,7 @@ public:
|
|||
}
|
||||
|
||||
if (!save_path->get_text().begins_with("res://")) {
|
||||
error_dialog->set_text(TTR("Target path must be full resource path."));
|
||||
error_dialog->set_text(TTR("Target path must be a complete resource path."));
|
||||
error_dialog->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -406,7 +406,7 @@ String EditorSampleImportPlugin::get_name() const {
|
|||
}
|
||||
String EditorSampleImportPlugin::get_visible_name() const{
|
||||
|
||||
return TTR("Audio Sample");
|
||||
return "Audio Sample";
|
||||
}
|
||||
void EditorSampleImportPlugin::import_dialog(const String& p_from){
|
||||
|
||||
|
|
|
@ -686,7 +686,7 @@ void EditorSceneImportDialog::_import(bool p_and_open) {
|
|||
}
|
||||
|
||||
if (!save_path->get_text().begins_with("res://")) {
|
||||
error_dialog->set_text(TTR("Target path must be full resource path."));
|
||||
error_dialog->set_text(TTR("Target path must be a complete resource path."));
|
||||
error_dialog->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -721,7 +721,7 @@ void EditorSceneImportDialog::_import(bool p_and_open) {
|
|||
if (script_path->get_text()!="") {
|
||||
Ref<Script> scr = ResourceLoader::load(script_path->get_text());
|
||||
if (!scr.is_valid()) {
|
||||
error_dialog->set_text(TTR("Couldn't load Post-Import Script."));
|
||||
error_dialog->set_text(TTR("Couldn't load post-import script."));
|
||||
error_dialog->popup_centered(Size2(200,100));
|
||||
return;
|
||||
}
|
||||
|
@ -730,7 +730,7 @@ void EditorSceneImportDialog::_import(bool p_and_open) {
|
|||
pi->set_script(scr.get_ref_ptr());
|
||||
if (!pi->get_script_instance()) {
|
||||
|
||||
error_dialog->set_text(TTR("Invalid/Broken Script for Post-Import."));
|
||||
error_dialog->set_text(TTR("Invalid/broken script for post-import."));
|
||||
error_dialog->popup_centered(Size2(200,100));
|
||||
return;
|
||||
}
|
||||
|
@ -816,7 +816,7 @@ void EditorSceneImportDialog::_import(bool p_and_open) {
|
|||
|
||||
if (err) {
|
||||
|
||||
error_dialog->set_text(TTR("Error importing scene."));
|
||||
error_dialog->set_text("Error importing scene.");
|
||||
error_dialog->popup_centered(Size2(200,100));
|
||||
return;
|
||||
}
|
||||
|
@ -1164,14 +1164,14 @@ EditorSceneImportDialog::EditorSceneImportDialog(EditorNode *p_editor, EditorSce
|
|||
|
||||
this_import = memnew( OptionButton );
|
||||
this_import->add_item(TTR("Overwrite Existing Scene"));
|
||||
this_import->add_item("Overwrite Existing, Keep Materials");
|
||||
this_import->add_item(TTR("Overwrite Existing, Keep Materials"));
|
||||
this_import->add_item(TTR("Keep Existing, Merge with New"));
|
||||
this_import->add_item(TTR("Keep Existing, Ignore New"));
|
||||
vbc->add_margin_child(TTR("This Time:"),this_import);
|
||||
|
||||
next_import = memnew( OptionButton );
|
||||
next_import->add_item(TTR("Overwrite Existing Scene"));
|
||||
next_import->add_item("Overwrite Existing, Keep Materials");
|
||||
next_import->add_item(TTR("Overwrite Existing, Keep Materials"));
|
||||
next_import->add_item(TTR("Keep Existing, Merge with New"));
|
||||
next_import->add_item(TTR("Keep Existing, Ignore New"));
|
||||
vbc->add_margin_child(TTR("Next Time:"),next_import);
|
||||
|
@ -2735,13 +2735,13 @@ Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, c
|
|||
post_import_script_path = post_import_script_path;
|
||||
Ref<Script> scr = ResourceLoader::load(post_import_script_path);
|
||||
if (!scr.is_valid()) {
|
||||
EditorNode::add_io_error(TTR("Couldn't load post-import script: '")+post_import_script_path);
|
||||
EditorNode::add_io_error(TTR("Couldn't load post-import script:")+" "+post_import_script_path);
|
||||
} else {
|
||||
|
||||
post_import_script = Ref<EditorScenePostImport>( memnew( EditorScenePostImport ) );
|
||||
post_import_script->set_script(scr.get_ref_ptr());
|
||||
if (!post_import_script->get_script_instance()) {
|
||||
EditorNode::add_io_error(TTR("Invalid/Broken Script for Post-Import: '")+post_import_script_path);
|
||||
EditorNode::add_io_error(TTR("Invalid/broken script for post-import:")+" "+post_import_script_path);
|
||||
post_import_script.unref();
|
||||
}
|
||||
}
|
||||
|
@ -2751,7 +2751,7 @@ Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, c
|
|||
if (post_import_script.is_valid()) {
|
||||
scene = post_import_script->post_import(scene);
|
||||
if (!scene) {
|
||||
EditorNode::add_io_error(TTR("Error running Post-Import script: '")+post_import_script_path);
|
||||
EditorNode::add_io_error(TTR("Error running post-import script:")+" "+post_import_script_path);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -2780,18 +2780,18 @@ Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, c
|
|||
String path = texture->get_path();
|
||||
String fname= path.get_file();
|
||||
String target_path = Globals::get_singleton()->localize_path(target_res_path.plus_file(fname));
|
||||
progress.step(TTR("Import Img: ")+fname,3+(idx)*100/imagemap.size());
|
||||
progress.step(TTR("Import Image:")+" "+fname,3+(idx)*100/imagemap.size());
|
||||
|
||||
idx++;
|
||||
|
||||
if (path==target_path) {
|
||||
|
||||
EditorNode::add_io_error(TTR("Can't import a file over itself: '")+target_path);
|
||||
EditorNode::add_io_error(TTR("Can't import a file over itself:")+" "+target_path);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!target_path.begins_with("res://")) {
|
||||
EditorNode::add_io_error(TTR("Couldn't localize path: '")+target_path+"' (already local)");
|
||||
EditorNode::add_io_error(vformat(TTR("Couldn't localize path: %s (already local)"),target_path));
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
@ -507,15 +507,15 @@ void EditorSceneImporterFBXConv::_parse_materials(State& state) {
|
|||
if (tex.is_valid() && texture.has("type")) {
|
||||
|
||||
String type=texture["type"];
|
||||
if (type==TTR("DIFFUSE"))
|
||||
if (type=="DIFFUSE")
|
||||
mat->set_texture(FixedMaterial::PARAM_DIFFUSE,tex);
|
||||
else if (type==TTR("SPECULAR"))
|
||||
else if (type=="SPECULAR")
|
||||
mat->set_texture(FixedMaterial::PARAM_SPECULAR,tex);
|
||||
else if (type==TTR("SHININESS"))
|
||||
else if (type=="SHININESS")
|
||||
mat->set_texture(FixedMaterial::PARAM_SPECULAR_EXP,tex);
|
||||
else if (type=="NORMAL")
|
||||
mat->set_texture(FixedMaterial::PARAM_NORMAL,tex);
|
||||
else if (type==TTR("EMISSIVE"))
|
||||
else if (type=="EMISSIVE")
|
||||
mat->set_texture(FixedMaterial::PARAM_EMISSION,tex);
|
||||
}
|
||||
|
||||
|
@ -570,13 +570,13 @@ void EditorSceneImporterFBXConv::_parse_surfaces(State& state) {
|
|||
exists[Mesh::ARRAY_COLOR]=true;
|
||||
ofs[Mesh::ARRAY_COLOR]=stride;
|
||||
stride+=4;
|
||||
} else if (attr==TTR("COLORPACKED")) {
|
||||
} else if (attr=="COLORPACKED") {
|
||||
stride+=1; //ignore
|
||||
} else if (attr==TTR("TANGENT")) {
|
||||
} else if (attr=="TANGENT") {
|
||||
exists[Mesh::ARRAY_TANGENT]=true;
|
||||
ofs[Mesh::ARRAY_TANGENT]=stride;
|
||||
stride+=3;
|
||||
} else if (attr==TTR("BINORMAL")) {
|
||||
} else if (attr=="BINORMAL") {
|
||||
binormal_ofs=stride;
|
||||
stride+=3;
|
||||
} else if (attr=="TEXCOORD0") {
|
||||
|
@ -587,10 +587,10 @@ void EditorSceneImporterFBXConv::_parse_surfaces(State& state) {
|
|||
exists[Mesh::ARRAY_TEX_UV2]=true;
|
||||
ofs[Mesh::ARRAY_TEX_UV2]=stride;
|
||||
stride+=2;
|
||||
} else if (attr.begins_with(TTR("TEXCOORD"))) {
|
||||
} else if (attr.begins_with("TEXCOORD")) {
|
||||
stride+=2;
|
||||
} else if (attr.begins_with(TTR("BLENDWEIGHT"))) {
|
||||
int idx=attr.replace(TTR("BLENDWEIGHT"),"").to_int();
|
||||
} else if (attr.begins_with("BLENDWEIGHT")) {
|
||||
int idx=attr.replace("BLENDWEIGHT","").to_int();
|
||||
if (idx==0) {
|
||||
exists[Mesh::ARRAY_BONES]=true;
|
||||
ofs[Mesh::ARRAY_BONES]=stride;
|
||||
|
@ -799,13 +799,13 @@ void EditorSceneImporterFBXConv::_parse_surfaces(State& state) {
|
|||
|
||||
if (part.has("type")) {
|
||||
String type=part["type"];
|
||||
if (type==TTR("LINES"))
|
||||
if (type=="LINES")
|
||||
pt=Mesh::PRIMITIVE_LINES;
|
||||
else if (type==TTR("POINTS"))
|
||||
else if (type=="POINTS")
|
||||
pt=Mesh::PRIMITIVE_POINTS;
|
||||
else if (type==TTR("TRIANGLE_STRIP"))
|
||||
else if (type=="TRIANGLE_STRIP")
|
||||
pt=Mesh::PRIMITIVE_TRIANGLE_STRIP;
|
||||
else if (type==TTR("LINE_STRIP"))
|
||||
else if (type=="LINE_STRIP")
|
||||
pt=Mesh::PRIMITIVE_LINE_STRIP;
|
||||
}
|
||||
|
||||
|
@ -1056,7 +1056,7 @@ Error EditorSceneImporterFBXConv::_parse_fbx(State& state,const String& p_path)
|
|||
}
|
||||
|
||||
args.push_back("-o");
|
||||
args.push_back(TTR("G3DJ"));
|
||||
args.push_back("G3DJ");
|
||||
args.push_back(path);
|
||||
|
||||
int res;
|
||||
|
|
|
@ -53,17 +53,17 @@ static const char *flag_names[]={
|
|||
|
||||
#if 0 // not used
|
||||
static const char *flag_short_names[]={
|
||||
TTR("Stream"),
|
||||
TTR("FixBorder"),
|
||||
TTR("AlphBit"),
|
||||
TTR("ExtComp"),
|
||||
TTR("NoMipMap"),
|
||||
TTR("Repeat"),
|
||||
TTR("Filter"),
|
||||
TTR("PMAlpha"),
|
||||
TTR("ToLinear"),
|
||||
TTR("ToRG"),
|
||||
TTR("Anisoropic"),
|
||||
"Stream",
|
||||
"FixBorder",
|
||||
"AlphBit",
|
||||
"ExtComp",
|
||||
"NoMipMap",
|
||||
"Repeat",
|
||||
"Filter",
|
||||
"PMAlpha",
|
||||
"ToLinear",
|
||||
"ToRG",
|
||||
"Anisoropic",
|
||||
NULL
|
||||
};
|
||||
#endif
|
||||
|
@ -343,7 +343,7 @@ void EditorTextureImportDialog::_import() {
|
|||
}
|
||||
|
||||
if (!save_path->get_text().begins_with("res://")) {
|
||||
error_dialog->set_text(TTR("Target path must be full resource path."));
|
||||
error_dialog->set_text(TTR("Target path must be a complete resource path."));
|
||||
error_dialog->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -382,7 +382,7 @@ void EditorTextureImportDialog::_import() {
|
|||
Error err = plugin->import(dst_file,imd);
|
||||
if (err) {
|
||||
|
||||
error_dialog->set_text(TTR("Error importing: ")+dst_file.get_file());
|
||||
error_dialog->set_text(TTR("Error importing:")+" "+dst_file.get_file());
|
||||
error_dialog->popup_centered(Size2(200,100));
|
||||
return;
|
||||
|
||||
|
@ -391,7 +391,7 @@ void EditorTextureImportDialog::_import() {
|
|||
|
||||
if (files.size()!=1) {
|
||||
|
||||
error_dialog->set_text(TTR("Only one file is required for large texture"));
|
||||
error_dialog->set_text(TTR("Only one file is required for large texture."));
|
||||
error_dialog->popup_centered(Size2(200,100));
|
||||
return;
|
||||
|
||||
|
@ -414,7 +414,7 @@ void EditorTextureImportDialog::_import() {
|
|||
Error err = plugin->import(dst_file,imd);
|
||||
if (err) {
|
||||
|
||||
error_dialog->set_text(TTR("Error importing: ")+dst_file.get_file());
|
||||
error_dialog->set_text(TTR("Error importing:")+" "+dst_file.get_file());
|
||||
error_dialog->popup_centered(Size2(200,100));
|
||||
return;
|
||||
|
||||
|
@ -438,7 +438,7 @@ void EditorTextureImportDialog::_import() {
|
|||
Error err = plugin->import(dst_file,imd);
|
||||
if (err) {
|
||||
|
||||
error_dialog->set_text(TTR("Error importing: ")+dst_file.get_file());
|
||||
error_dialog->set_text(TTR("Error importing:")+" "+dst_file.get_file());
|
||||
error_dialog->popup_centered(Size2(200,100));
|
||||
return;
|
||||
|
||||
|
@ -499,7 +499,7 @@ void EditorTextureImportDialog::_notification(int p_what) {
|
|||
|
||||
List<String> extensions;
|
||||
ImageLoader::get_recognized_extensions(&extensions);
|
||||
// ResourceLoader::get_recognized_extensions_for_type(TTR("PackedTexture"),&extensions);
|
||||
// ResourceLoader::get_recognized_extensions_for_type("PackedTexture",&extensions);
|
||||
file_select->clear_filters();
|
||||
for(int i=0;i<extensions.size();i++) {
|
||||
|
||||
|
@ -579,7 +579,7 @@ EditorTextureImportDialog::EditorTextureImportDialog(EditorTextureImportPlugin*
|
|||
|
||||
if (p_atlas) {
|
||||
size->set_val(2048);
|
||||
vbc->add_margin_child(TTR("Max Texture size:"),size);
|
||||
vbc->add_margin_child(TTR("Max Texture Size:"),size);
|
||||
} else {
|
||||
size->set_val(256);
|
||||
vbc->add_margin_child(TTR("Cell Size:"),size);
|
||||
|
@ -612,9 +612,9 @@ EditorTextureImportDialog::EditorTextureImportDialog(EditorTextureImportPlugin*
|
|||
save_file_select->set_mode(EditorFileDialog::MODE_SAVE_FILE);
|
||||
save_file_select->clear_filters();
|
||||
if (large)
|
||||
save_file_select->add_filter("*.ltex;Large Texture");
|
||||
save_file_select->add_filter("*.ltex;"+TTR("Large Texture"));
|
||||
else
|
||||
save_file_select->add_filter("*.tex;Base Atlas Texture");
|
||||
save_file_select->add_filter("*.tex;"+TTR("Base Atlas Texture"));
|
||||
save_file_select->connect("file_selected", this,"_choose_save_dir");
|
||||
|
||||
save_select = memnew( EditorDirDialog );
|
||||
|
@ -1057,7 +1057,7 @@ Error EditorTextureImportPlugin::import2(const String& p_path, const Ref<Resourc
|
|||
|
||||
err = ResourceSaver::save(p_path,existing);
|
||||
if (err!=OK) {
|
||||
EditorNode::add_io_error(TTR("Couldn't save large texture: ")+p_path);
|
||||
EditorNode::add_io_error(TTR("Couldn't save large texture:")+" "+p_path);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -1072,7 +1072,7 @@ Error EditorTextureImportPlugin::import2(const String& p_path, const Ref<Resourc
|
|||
bool alpha=false;
|
||||
bool crop = from->get_option("crop");
|
||||
|
||||
EditorProgress ep("make_atlas",TTR("Build Atlas For: ")+p_path.get_file(),from->get_source_count()+3);
|
||||
EditorProgress ep("make_atlas",TTR("Build Atlas For:")+" "+p_path.get_file(),from->get_source_count()+3);
|
||||
|
||||
print_line("sources: "+itos(from->get_source_count()));
|
||||
|
||||
|
@ -1081,12 +1081,12 @@ Error EditorTextureImportPlugin::import2(const String& p_path, const Ref<Resourc
|
|||
String path = EditorImportPlugin::expand_source_path(from->get_source_path(i));
|
||||
String md5 = FileAccess::get_md5(path);
|
||||
from->set_source_md5(i,FileAccess::get_md5(path));
|
||||
ep.step(TTR("Loading Image: ")+path,i);
|
||||
ep.step(TTR("Loading Image:")+" "+path,i);
|
||||
print_line("source path: "+path+" md5 "+md5);
|
||||
Image src;
|
||||
Error err = ImageLoader::load_image(path,&src);
|
||||
if (err) {
|
||||
EditorNode::add_io_error(TTR("Couldn't load image: ")+path);
|
||||
EditorNode::add_io_error(TTR("Couldn't load image:")+" "+path);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -1176,7 +1176,7 @@ Error EditorTextureImportPlugin::import2(const String& p_path, const Ref<Resourc
|
|||
Size2i dst_size;
|
||||
EditorAtlas::fit(src_sizes,dst_positions,dst_size);
|
||||
|
||||
print_line("size that workeD: "+itos(dst_size.width)+","+itos(dst_size.height));
|
||||
print_line("size that worked: "+itos(dst_size.width)+","+itos(dst_size.height));
|
||||
|
||||
ep.step(TTR("Blitting Images"),sources.size()+2);
|
||||
|
||||
|
@ -1291,7 +1291,7 @@ Error EditorTextureImportPlugin::import2(const String& p_path, const Ref<Resourc
|
|||
atlases[i]->set_atlas(texture);
|
||||
Error err = ResourceSaver::save(apath,atlases[i]);
|
||||
if (err) {
|
||||
EditorNode::add_io_error(TTR("Couldn't save atlas image: ")+apath);
|
||||
EditorNode::add_io_error(TTR("Couldn't save atlas image:")+" "+apath);
|
||||
return err;
|
||||
}
|
||||
//from->set_source_md5(i,FileAccess::get_md5(apath));
|
||||
|
@ -1433,7 +1433,7 @@ Error EditorTextureImportPlugin::import2(const String& p_path, const Ref<Resourc
|
|||
|
||||
Error err = ResourceSaver::save(p_path,texture,save_flags);
|
||||
if (err!=OK) {
|
||||
EditorNode::add_io_error(TTR("Couldn't save converted texture: ")+p_path);
|
||||
EditorNode::add_io_error(TTR("Couldn't save converted texture:")+" "+p_path);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -236,7 +236,7 @@ public:
|
|||
}
|
||||
|
||||
if (!save_path->get_text().begins_with("res://")) {
|
||||
error_dialog->set_text(TTR("No target path!!"));
|
||||
error_dialog->set_text(TTR("No target path!"));
|
||||
error_dialog->popup_centered(Size2(200,100));
|
||||
}
|
||||
|
||||
|
@ -258,7 +258,7 @@ public:
|
|||
String savefile = save_path->get_text().plus_file(import_path->get_text().get_file().basename()+"."+locale+".xl");
|
||||
Error err = plugin->import(savefile,imd);
|
||||
if (err!=OK) {
|
||||
error_dialog->set_text(TTR("Couldnt import!"));
|
||||
error_dialog->set_text(TTR("Couldn't import!"));
|
||||
error_dialog->popup_centered(Size2(200,100));
|
||||
} else if (add_to_project->is_pressed()) {
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ bool MultiNodeEdit::_set(const StringName& p_name, const Variant& p_value){
|
|||
|
||||
UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
|
||||
|
||||
ur->create_action(TTR("MultiNode Set ")+String(p_name));
|
||||
ur->create_action(TTR("MultiNode Set")+" "+String(p_name));
|
||||
for (const List<NodePath>::Element *E=nodes.front();E;E=E->next()) {
|
||||
|
||||
if (!es->has_node(E->get()))
|
||||
|
|
|
@ -496,7 +496,7 @@ void AnimationPlayerEditor::_animation_name_edited() {
|
|||
}
|
||||
|
||||
if (player->has_animation(new_name)) {
|
||||
error_dialog->set_text(TTR("ERROR: Animation Name Already Exists!"));
|
||||
error_dialog->set_text(TTR("ERROR: Animation name already exists!"));
|
||||
error_dialog->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -1022,7 +1022,7 @@ void AnimationPlayerEditor::_editor_store() {
|
|||
return; //already there
|
||||
|
||||
|
||||
undo_redo->create_action(TTR("Store anim in editor"));
|
||||
undo_redo->create_action("Store anim in editor");
|
||||
undo_redo->add_do_method(key_editor,"set_animation",anim);
|
||||
undo_redo->add_undo_method(key_editor,"remove_animation",anim);
|
||||
undo_redo->commit_action();
|
||||
|
@ -1044,7 +1044,7 @@ void AnimationPlayerEditor::_editor_load(){
|
|||
String base=anim->get_name();
|
||||
bool noname=false;
|
||||
if (base=="") {
|
||||
base=TTR("New Anim");
|
||||
base="New Anim";
|
||||
noname=true;
|
||||
}
|
||||
|
||||
|
@ -1063,7 +1063,7 @@ void AnimationPlayerEditor::_editor_load(){
|
|||
if (noname)
|
||||
anim->set_name(base);
|
||||
|
||||
undo_redo->create_action(TTR("Add Animation From Editor"));
|
||||
undo_redo->create_action("Add Animation From Editor");
|
||||
undo_redo->add_do_method(player,"add_animation",base,anim);
|
||||
undo_redo->add_undo_method(player,"remove_animation",base);
|
||||
undo_redo->add_do_method(this,"_animation_player_changed",player);
|
||||
|
@ -1298,7 +1298,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) {
|
|||
Label * l;
|
||||
|
||||
/*l= memnew( Label );
|
||||
l->set_text(TTR("Animation Player:"));
|
||||
l->set_text("Animation Player:");
|
||||
add_child(l);*/
|
||||
|
||||
HBoxContainer *hb = memnew( HBoxContainer );
|
||||
|
@ -1306,11 +1306,11 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) {
|
|||
|
||||
|
||||
play_bw_from = memnew( ToolButton );
|
||||
play_bw_from->set_tooltip(TTR("Play backwards selected animation from current pos. (A)"));
|
||||
play_bw_from->set_tooltip(TTR("Play selected animation backwards from current pos. (A)"));
|
||||
hb->add_child(play_bw_from);
|
||||
|
||||
play_bw = memnew( ToolButton );
|
||||
play_bw->set_tooltip(TTR("Play backwards selected animation from end. (Shift+A)"));
|
||||
play_bw->set_tooltip(TTR("Play selected animation backwards from end. (Shift+A)"));
|
||||
hb->add_child(play_bw);
|
||||
|
||||
stop = memnew( ToolButton );
|
||||
|
@ -1391,7 +1391,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) {
|
|||
|
||||
autoplay = memnew( ToolButton );
|
||||
hb->add_child(autoplay);
|
||||
autoplay->set_tooltip(TTR("Autoplay On Load"));
|
||||
autoplay->set_tooltip(TTR("Autoplay on Load"));
|
||||
|
||||
|
||||
|
||||
|
@ -1405,7 +1405,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) {
|
|||
tool_anim->get_popup()->add_item(TTR("Copy Animation"),TOOL_COPY_ANIM);
|
||||
tool_anim->get_popup()->add_item(TTR("Paste Animation"),TOOL_PASTE_ANIM);
|
||||
//tool_anim->get_popup()->add_separator();
|
||||
//tool_anim->get_popup()->add_item(TTR("Edit Anim Resource"),TOOL_PASTE_ANIM);
|
||||
//tool_anim->get_popup()->add_item("Edit Anim Resource",TOOL_PASTE_ANIM);
|
||||
hb->add_child(tool_anim);
|
||||
|
||||
nodename = memnew( Button );
|
||||
|
@ -1444,7 +1444,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) {
|
|||
|
||||
error_dialog = memnew( ConfirmationDialog );
|
||||
error_dialog->get_ok()->set_text(TTR("Close"));
|
||||
//error_dialog->get_cancel()->set_text(TTR("Close"));
|
||||
//error_dialog->get_cancel()->set_text("Close");
|
||||
error_dialog->set_text(TTR("Error!"));
|
||||
add_child(error_dialog);
|
||||
|
||||
|
@ -1459,7 +1459,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) {
|
|||
blend_editor.dialog->set_child_rect(blend_vb);
|
||||
blend_editor.tree = memnew( Tree );
|
||||
blend_editor.tree->set_columns(2);
|
||||
blend_vb->add_margin_child(TTR("Blend Times: "),blend_editor.tree,true);
|
||||
blend_vb->add_margin_child(TTR("Blend Times:"),blend_editor.tree,true);
|
||||
blend_editor.next = memnew( OptionButton );
|
||||
blend_vb->add_margin_child(TTR("Next (Auto Queue):"),blend_editor.next);
|
||||
blend_editor.dialog->set_title(TTR("Cross-Animation Blend Times"));
|
||||
|
|
|
@ -203,7 +203,7 @@ public:
|
|||
virtual Dictionary get_state() const { return anim_editor->get_state(); }
|
||||
virtual void set_state(const Dictionary& p_state) { anim_editor->set_state(p_state); }
|
||||
|
||||
virtual String get_name() const { return TTR("Anim"); }
|
||||
virtual String get_name() const { return "Anim"; }
|
||||
bool has_main_screen() const { return false; }
|
||||
virtual void edit(Object *p_node);
|
||||
virtual bool handles(Object *p_node) const;
|
||||
|
|
|
@ -990,12 +990,12 @@ void AnimationTreeEditor::_notification(int p_what) {
|
|||
case AnimationTreePlayer::CONNECT_OK: {
|
||||
|
||||
Ref<Font> f = get_font("font","Label");
|
||||
f->draw(get_canvas_item(),Point2(5,25+f->get_ascent()),TTR("Animation Tree is Valid."),Color(0,1,0.6,0.8));
|
||||
f->draw(get_canvas_item(),Point2(5,25+f->get_ascent()),TTR("Animation tree is valid."),Color(0,1,0.6,0.8));
|
||||
} break;
|
||||
default: {
|
||||
|
||||
Ref<Font> f = get_font("font","Label");
|
||||
f->draw(get_canvas_item(),Point2(5,25+f->get_ascent()),TTR("Animation Tree is Invalid."),Color(1,0.6,0.0,0.8));
|
||||
f->draw(get_canvas_item(),Point2(5,25+f->get_ascent()),TTR("Animation tree is invalid."),Color(1,0.6,0.0,0.8));
|
||||
} break;
|
||||
}
|
||||
|
||||
|
@ -1369,7 +1369,7 @@ AnimationTreeEditor::AnimationTreeEditor() {
|
|||
p->add_item(TTR("TimeSeek Node"),AnimationTreePlayer::NODE_TIMESEEK);
|
||||
p->add_item(TTR("Transition Node"),AnimationTreePlayer::NODE_TRANSITION);
|
||||
p->add_separator();
|
||||
p->add_item(TTR("Import Animations..."), MENU_IMPORT_ANIMATIONS); // wtf
|
||||
p->add_item(TTR("Import Animations.."), MENU_IMPORT_ANIMATIONS); // wtf
|
||||
p->add_separator();
|
||||
p->add_item(TTR("Clear"),MENU_GRAPH_CLEAR);
|
||||
|
||||
|
@ -1524,7 +1524,7 @@ AnimationTreeEditorPlugin::AnimationTreeEditorPlugin(EditorNode *p_node) {
|
|||
anim_tree_editor = memnew( AnimationTreeEditor );
|
||||
anim_tree_editor->set_custom_minimum_size(Size2(0,300));
|
||||
|
||||
button=editor->add_bottom_panel_item(TTR("AnimationTree"),anim_tree_editor);
|
||||
button=editor->add_bottom_panel_item("AnimationTree",anim_tree_editor);
|
||||
button->hide();
|
||||
|
||||
|
||||
|
|
|
@ -180,7 +180,7 @@ class AnimationTreeEditorPlugin : public EditorPlugin {
|
|||
|
||||
public:
|
||||
|
||||
virtual String get_name() const { return TTR("AnimTree"); }
|
||||
virtual String get_name() const { return "AnimTree"; }
|
||||
bool has_main_screen() const { return false; }
|
||||
virtual void edit(Object *p_node);
|
||||
virtual bool handles(Object *p_node) const;
|
||||
|
|
|
@ -728,14 +728,14 @@ void BakedLightBaker::_make_octree() {
|
|||
for(int i=0;i<8;i++)
|
||||
root->children[i]=0;
|
||||
|
||||
EditorProgress ep("bake_octree",TTR("Parsing ")+itos(triangles.size())+" Triangles:",triangles.size());
|
||||
EditorProgress ep("bake_octree",vformat(TTR("Parsing %d Triangles:"), triangles.size()),triangles.size());
|
||||
|
||||
for(int i=0;i<triangles.size();i++) {
|
||||
|
||||
_octree_insert(0,&triangles[i],octree_depth-1);
|
||||
if ((i%1000)==0) {
|
||||
|
||||
ep.step(TTR("Triangle# ")+itos(i),i);
|
||||
ep.step(TTR("Triangle #")+itos(i),i);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1906,7 +1906,7 @@ void CanvasItemEditor::_viewport_draw() {
|
|||
if (h_scroll->is_visible())
|
||||
size.height-=h_scroll->get_size().height;
|
||||
|
||||
get_stylebox(TTR("EditorFocus"),"EditorStyles")->draw(ci,Rect2(Point2(),size));
|
||||
get_stylebox("EditorFocus","EditorStyles")->draw(ci,Rect2(Point2(),size));
|
||||
}
|
||||
|
||||
Ref<Texture> lock = get_icon("Lock","EditorIcons");
|
||||
|
@ -2229,7 +2229,7 @@ void CanvasItemEditor::_notification(int p_what) {
|
|||
key_insert_button->set_icon(get_icon("Key","EditorIcons"));
|
||||
|
||||
|
||||
//anchor_menu->add_icon_override(TTR("Align Top Left"));
|
||||
//anchor_menu->add_icon_override("Align Top Left");
|
||||
anchor_menu->set_icon(get_icon("Anchor","EditorIcons"));
|
||||
PopupMenu *p=anchor_menu->get_popup();
|
||||
|
||||
|
@ -3147,7 +3147,7 @@ void CanvasItemEditor::end_drag() {
|
|||
|
||||
if (undo_redo) {
|
||||
|
||||
undo_redo->create_action(TTR("Edit CanvasItem"));
|
||||
undo_redo->create_action("Edit CanvasItem");
|
||||
for(CanvasItemMap::Element *E=canvas_items.front();E;E=E->next()) {
|
||||
CanvasItem *canvas_item = E->key();
|
||||
Variant state=canvas_item->edit_get_state();
|
||||
|
@ -3285,7 +3285,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) {
|
|||
hb->add_child(select_button);
|
||||
select_button->connect("pressed",this,"_tool_select",make_binds(TOOL_SELECT));
|
||||
select_button->set_pressed(true);
|
||||
select_button->set_tooltip("Select Mode (Q)\n"+keycode_get_string(KEY_MASK_CMD)+"Drag: Rotate\nAlt+Drag: Move\nPress 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving).\nAlt+RMB: Depth list selection");
|
||||
select_button->set_tooltip(TTR("Select Mode (Q)")+"\n"+keycode_get_string(KEY_MASK_CMD)+TTR("Drag: Rotate")+"\n"+TTR("Alt+Drag: Move")+"\n"+TTR("Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving).")+"\n"+TTR("Alt+RMB: Depth list selection"));
|
||||
|
||||
|
||||
move_button = memnew( ToolButton );
|
||||
|
@ -3306,13 +3306,13 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) {
|
|||
list_select_button->set_toggle_mode(true);
|
||||
hb->add_child(list_select_button);
|
||||
list_select_button->connect("pressed",this,"_tool_select",make_binds(TOOL_LIST_SELECT));
|
||||
list_select_button->set_tooltip("Show a list of all objects at the position clicked\n(same as Alt+RMB in selet mode).");
|
||||
list_select_button->set_tooltip(TTR("Show a list of all objects at the position clicked\n(same as Alt+RMB in select mode)."));
|
||||
|
||||
pivot_button = memnew( ToolButton );
|
||||
pivot_button->set_toggle_mode(true);
|
||||
hb->add_child(pivot_button);
|
||||
pivot_button->connect("pressed",this,"_tool_select",make_binds(TOOL_EDIT_PIVOT));
|
||||
pivot_button->set_tooltip(TTR("Click to change object's rotation pivot"));
|
||||
pivot_button->set_tooltip(TTR("Click to change object's rotation pivot."));
|
||||
|
||||
pan_button = memnew( ToolButton );
|
||||
pan_button->set_toggle_mode(true);
|
||||
|
@ -3326,7 +3326,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) {
|
|||
hb->add_child(lock_button);
|
||||
|
||||
lock_button->connect("pressed",this,"_popup_callback",varray(LOCK_SELECTED));
|
||||
lock_button->set_tooltip("Lock the selected object in-place (can't be moved).");
|
||||
lock_button->set_tooltip(TTR("Lock the selected object in place (can't be moved)."));
|
||||
|
||||
unlock_button = memnew( ToolButton );
|
||||
hb->add_child(unlock_button);
|
||||
|
@ -3336,12 +3336,12 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) {
|
|||
group_button = memnew( ToolButton );
|
||||
hb->add_child(group_button);
|
||||
group_button->connect("pressed",this,"_popup_callback",varray(GROUP_SELECTED));
|
||||
group_button->set_tooltip("Makes sure the object's' children are not selectable.");
|
||||
group_button->set_tooltip(TTR("Makes sure the object's children are not selectable."));
|
||||
|
||||
ungroup_button = memnew( ToolButton );
|
||||
hb->add_child(ungroup_button);
|
||||
ungroup_button->connect("pressed",this,"_popup_callback",varray(UNGROUP_SELECTED));
|
||||
ungroup_button->set_tooltip("Restores the object's' children ability to be selected.");
|
||||
ungroup_button->set_tooltip(TTR("Restores the object's children's ability to be selected."));
|
||||
|
||||
hb->add_child(memnew(VSeparator));
|
||||
|
||||
|
@ -3375,10 +3375,10 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) {
|
|||
|
||||
|
||||
/*
|
||||
p->add_item(TTR("Align Horizontal"),ALIGN_HORIZONTAL);
|
||||
p->add_item(TTR("Align Vertical"),ALIGN_VERTICAL);
|
||||
p->add_item(TTR("Space Horizontal"),SPACE_HORIZONTAL);
|
||||
p->add_item(TTR("Space Vertical"),SPACE_VERTICAL);*/
|
||||
p->add_item("Align Horizontal",ALIGN_HORIZONTAL);
|
||||
p->add_item("Align Vertical",ALIGN_VERTICAL);
|
||||
p->add_item("Space Horizontal",SPACE_HORIZONTAL);
|
||||
p->add_item("Space Vertical",SPACE_VERTICAL);*/
|
||||
|
||||
view_menu = memnew( MenuButton );
|
||||
view_menu->set_text(TTR("View"));
|
||||
|
@ -3436,7 +3436,7 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) {
|
|||
key_insert_button = memnew( Button );
|
||||
key_insert_button->set_focus_mode(FOCUS_NONE);
|
||||
key_insert_button->connect("pressed",this,"_popup_callback",varray(ANIM_INSERT_KEY));
|
||||
key_insert_button->set_tooltip(TTR("Insert Keys (Insert)"));
|
||||
key_insert_button->set_tooltip(TTR("Insert Keys (Ins)"));
|
||||
|
||||
animation_hb->add_child(key_insert_button);
|
||||
|
||||
|
|
|
@ -390,7 +390,7 @@ CollisionPolygon2DEditor::CollisionPolygon2DEditor(EditorNode *p_editor) {
|
|||
add_child(button_create);
|
||||
button_create->connect("pressed",this,"_menu_option",varray(MODE_CREATE));
|
||||
button_create->set_toggle_mode(true);
|
||||
button_create->set_tooltip(TTR("Create a new polygon from scratch"));
|
||||
button_create->set_tooltip(TTR("Create a new polygon from scratch."));
|
||||
|
||||
button_edit = memnew( ToolButton );
|
||||
add_child(button_edit);
|
||||
|
@ -404,8 +404,8 @@ CollisionPolygon2DEditor::CollisionPolygon2DEditor(EditorNode *p_editor) {
|
|||
options = memnew( MenuButton );
|
||||
add_child(options);
|
||||
options->set_area_as_parent_rect();
|
||||
options->set_text(TTR("Polygon"));
|
||||
//options->get_popup()->add_item(TTR("Parse BBCODE"),PARSE_BBCODE);
|
||||
options->set_text("Polygon");
|
||||
//options->get_popup()->add_item("Parse BBCode",PARSE_BBCODE);
|
||||
options->get_popup()->connect("item_pressed", this,"_menu_option");
|
||||
#endif
|
||||
|
||||
|
|
|
@ -559,8 +559,8 @@ CollisionPolygonEditor::CollisionPolygonEditor(EditorNode *p_editor) {
|
|||
options = memnew( MenuButton );
|
||||
add_child(options);
|
||||
options->set_area_as_parent_rect();
|
||||
options->set_text(TTR("Polygon"));
|
||||
//options->get_popup()->add_item(TTR("Parse BBCODE"),PARSE_BBCODE);
|
||||
options->set_text("Polygon");
|
||||
//options->get_popup()->add_item("Parse BBCode",PARSE_BBCODE);
|
||||
options->get_popup()->connect("item_pressed", this,"_menu_option");
|
||||
#endif
|
||||
|
||||
|
|
|
@ -112,7 +112,7 @@ void ControlEditor::_key_move(const Vector2& p_dir, bool p_snap) {
|
|||
if (p_snap)
|
||||
motion*=snap_val->get_text().to_double();
|
||||
|
||||
undo_redo->create_action(TTR("Edit Control"));
|
||||
undo_redo->create_action("Edit Control");
|
||||
for(ControlMap::Element *E=controls.front();E;E=E->next()) {
|
||||
Control *control = E->key();
|
||||
undo_redo->add_do_method(control,"set_pos",control->get_pos()+motion);
|
||||
|
@ -156,7 +156,7 @@ void ControlEditor::_input_event(InputEvent p_event) {
|
|||
|
||||
if (undo_redo) {
|
||||
|
||||
undo_redo->create_action(TTR("Edit Control"));
|
||||
undo_redo->create_action("Edit Control");
|
||||
for(ControlMap::Element *E=controls.front();E;E=E->next()) {
|
||||
Control *control = E->key();
|
||||
undo_redo->add_do_method(control,"set_pos",control->get_pos());
|
||||
|
@ -752,17 +752,17 @@ ControlEditor::ControlEditor(EditorNode *p_editor) {
|
|||
handle_len=10;
|
||||
|
||||
popup=memnew( PopupMenu );
|
||||
popup->add_check_item(TTR("Use Snap"));
|
||||
popup->add_item(TTR("Configure Snap.."));
|
||||
popup->add_check_item("Use Snap");
|
||||
popup->add_item("Configure Snap..");
|
||||
add_child(popup);
|
||||
|
||||
snap_dialog = memnew( ConfirmationDialog );
|
||||
snap_dialog->get_ok()->hide();
|
||||
snap_dialog->get_cancel()->set_text(TTR("Close"));
|
||||
snap_dialog->get_cancel()->set_text("Close");
|
||||
add_child(snap_dialog);
|
||||
|
||||
Label *l = memnew(Label);
|
||||
l->set_text(TTR("Snap:"));
|
||||
l->set_text("Snap:");
|
||||
l->set_pos(Point2(5,5));
|
||||
snap_dialog->add_child(l);
|
||||
|
||||
|
|
|
@ -125,7 +125,7 @@ class ControlEditorPlugin : public EditorPlugin {
|
|||
|
||||
public:
|
||||
|
||||
virtual String get_name() const { return TTR("GUI"); }
|
||||
virtual String get_name() const { return "GUI"; }
|
||||
bool has_main_screen() const { return true; }
|
||||
virtual void edit(Object *p_object);
|
||||
virtual bool handles(Object *p_object) const;
|
||||
|
|
|
@ -256,7 +256,7 @@ void MeshLibraryEditor::_menu_cbk(int p_option) {
|
|||
if (p.begins_with("/MeshLibrary/item") && p.get_slice_count("/")>=3) {
|
||||
|
||||
to_erase = p.get_slice("/",3).to_int();
|
||||
cd->set_text(TTR("Remove Item ")+itos(to_erase)+"?");
|
||||
cd->set_text(vformat(TTR("Remove item %d?"),to_erase));
|
||||
cd->popup_centered(Size2(300,60));
|
||||
}
|
||||
} break;
|
||||
|
|
|
@ -129,7 +129,7 @@ int ItemListOptionButtonPlugin::get_flags() const {
|
|||
|
||||
void ItemListOptionButtonPlugin::add_item() {
|
||||
|
||||
ob->add_item( TTR("Item ")+itos(ob->get_item_count()));
|
||||
ob->add_item( vformat(TTR("Item %d"),ob->get_item_count()));
|
||||
_change_notify();
|
||||
}
|
||||
|
||||
|
@ -171,7 +171,7 @@ int ItemListPopupMenuPlugin::get_flags() const {
|
|||
|
||||
void ItemListPopupMenuPlugin::add_item() {
|
||||
|
||||
pp->add_item( TTR("Item ")+itos(pp->get_item_count()));
|
||||
pp->add_item( vformat(TTR("Item %d"),pp->get_item_count()));
|
||||
_change_notify();
|
||||
}
|
||||
|
||||
|
|
|
@ -421,13 +421,13 @@ LightOccluder2DEditor::LightOccluder2DEditor(EditorNode *p_editor) {
|
|||
add_child(button_create);
|
||||
button_create->connect("pressed",this,"_menu_option",varray(MODE_CREATE));
|
||||
button_create->set_toggle_mode(true);
|
||||
button_create->set_tooltip(TTR("Create a new polygon from scratch"));
|
||||
button_create->set_tooltip(TTR("Create a new polygon from scratch."));
|
||||
|
||||
button_edit = memnew( ToolButton );
|
||||
add_child(button_edit);
|
||||
button_edit->connect("pressed",this,"_menu_option",varray(MODE_EDIT));
|
||||
button_edit->set_toggle_mode(true);
|
||||
button_edit->set_tooltip("Edit existing polygon:\nLMB: Move Point.\nCtrl+LMB: Split Segment.\nRMB: Erase Point.");
|
||||
button_edit->set_tooltip(TTR("Edit existing polygon:")+"\n"+TTR("LMB: Move Point.")+"\n"+TTR("Ctrl+LMB: Split Segment.")+"\n"+TTR("RMB: Erase Point."));
|
||||
|
||||
create_poly = memnew( ConfirmationDialog );
|
||||
add_child(create_poly);
|
||||
|
@ -440,8 +440,8 @@ LightOccluder2DEditor::LightOccluder2DEditor(EditorNode *p_editor) {
|
|||
options = memnew( MenuButton );
|
||||
add_child(options);
|
||||
options->set_area_as_parent_rect();
|
||||
options->set_text(TTR("Polygon"));
|
||||
//options->get_popup()->add_item(TTR("Parse BBCODE"),PARSE_BBCODE);
|
||||
options->set_text("Polygon");
|
||||
//options->get_popup()->add_item("Parse BBCode",PARSE_BBCODE);
|
||||
options->get_popup()->connect("item_pressed", this,"_menu_option");
|
||||
#endif
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@ void MultiMeshEditor::_populate() {
|
|||
|
||||
if (!ms_node) {
|
||||
|
||||
err_dialog->set_text(TTR("Mesh source is invalid (Invalid Path)."));
|
||||
err_dialog->set_text(TTR("Mesh source is invalid (invalid path)."));
|
||||
err_dialog->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ void MultiMeshEditor::_populate() {
|
|||
|
||||
if (!ms_instance) {
|
||||
|
||||
err_dialog->set_text(TTR("Mesh source is invalid (Not a MeshInstance)."));
|
||||
err_dialog->set_text(TTR("Mesh source is invalid (not a MeshInstance)."));
|
||||
err_dialog->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ void MultiMeshEditor::_populate() {
|
|||
|
||||
if (mesh.is_null()) {
|
||||
|
||||
err_dialog->set_text(TTR("Mesh source is invalid (Contains no Mesh resource)."));
|
||||
err_dialog->set_text(TTR("Mesh source is invalid (contains no Mesh resource)."));
|
||||
err_dialog->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -109,7 +109,7 @@ void MultiMeshEditor::_populate() {
|
|||
|
||||
if (!ss_node) {
|
||||
|
||||
err_dialog->set_text(TTR("Surface source is invalid (Invalid Path)."));
|
||||
err_dialog->set_text(TTR("Surface source is invalid (invalid path)."));
|
||||
err_dialog->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -118,7 +118,7 @@ void MultiMeshEditor::_populate() {
|
|||
|
||||
if (!ss_instance) {
|
||||
|
||||
err_dialog->set_text(TTR("Surface source is invalid (Not Geometry)."));
|
||||
err_dialog->set_text(TTR("Surface source is invalid (no geometry)."));
|
||||
err_dialog->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -129,7 +129,7 @@ void MultiMeshEditor::_populate() {
|
|||
|
||||
if (geometry.size()==0) {
|
||||
|
||||
err_dialog->set_text(TTR("Surface source is invalid (No Faces)."));
|
||||
err_dialog->set_text(TTR("Surface source is invalid (no faces)."));
|
||||
err_dialog->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -153,10 +153,10 @@ void MultiMeshEditor::_populate() {
|
|||
node->populate_parent(populate_rotate_random->get_val(),populate_tilt_random->get_val(),populate_scale_random->get_val(),populate_scale->get_val());
|
||||
|
||||
|
||||
ERR_EXPLAIN(TTR("Parent is not of type VisualInstance."));
|
||||
ERR_EXPLAIN("Parent is not of type VisualInstance.");
|
||||
ERR_FAIL_COND(!get_parent() || !get_parent()->is_type("VisualInstance"));
|
||||
|
||||
ERR_EXPLAIN(TTR("Multimesh not present"));
|
||||
ERR_EXPLAIN("Multimesh not present.");
|
||||
ERR_FAIL_COND(multimesh.is_null());
|
||||
|
||||
VisualInstance *vi = get_parent()->cast_to<VisualInstance>();
|
||||
|
@ -184,9 +184,9 @@ void MultiMeshEditor::_populate() {
|
|||
area_accum+=area;
|
||||
}
|
||||
|
||||
ERR_EXPLAIN(TTR("Couldn't map area"));
|
||||
ERR_EXPLAIN(TTR("Couldn't map area."));
|
||||
ERR_FAIL_COND(triangle_area_map.size()==0);
|
||||
ERR_EXPLAIN(TTR("Couldn't map area"));
|
||||
ERR_EXPLAIN(TTR("Couldn't map area."));
|
||||
ERR_FAIL_COND(area_accum==0);
|
||||
|
||||
|
||||
|
|
|
@ -469,13 +469,13 @@ NavigationPolygonEditor::NavigationPolygonEditor(EditorNode *p_editor) {
|
|||
add_child(button_create);
|
||||
button_create->connect("pressed",this,"_menu_option",varray(MODE_CREATE));
|
||||
button_create->set_toggle_mode(true);
|
||||
button_create->set_tooltip(TTR("Create a new polygon from scratch"));
|
||||
button_create->set_tooltip(TTR("Create a new polygon from scratch."));
|
||||
|
||||
button_edit = memnew( ToolButton );
|
||||
add_child(button_edit);
|
||||
button_edit->connect("pressed",this,"_menu_option",varray(MODE_EDIT));
|
||||
button_edit->set_toggle_mode(true);
|
||||
button_edit->set_tooltip("Edit existing polygon:\nLMB: Move Point.\nCtrl+LMB: Split Segment.\nRMB: Erase Point.");
|
||||
button_edit->set_tooltip(TTR("Edit existing polygon:")+"\n"+TTR("LMB: Move Point.")+"\n"+TTR("Ctrl+LMB: Split Segment.")+"\n"+TTR("RMB: Erase Point."));
|
||||
create_nav = memnew( ConfirmationDialog );
|
||||
add_child(create_nav);
|
||||
create_nav->get_ok()->set_text(TTR("Create"));
|
||||
|
@ -487,8 +487,8 @@ NavigationPolygonEditor::NavigationPolygonEditor(EditorNode *p_editor) {
|
|||
options = memnew( MenuButton );
|
||||
add_child(options);
|
||||
options->set_area_as_parent_rect();
|
||||
options->set_text(TTR("Polygon"));
|
||||
//options->get_popup()->add_item(TTR("Parse BBCODE"),PARSE_BBCODE);
|
||||
options->set_text("Polygon");
|
||||
//options->get_popup()->add_item("Parse BBCode",PARSE_BBCODE);
|
||||
options->get_popup()->connect("item_pressed", this,"_menu_option");
|
||||
#endif
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ void Particles2DEditorPlugin::_file_selected(const String& p_file) {
|
|||
|
||||
Image img;
|
||||
Error err = ImageLoader::load_image(p_file,&img);
|
||||
ERR_EXPLAIN(TTR("Error loading image: ")+p_file);
|
||||
ERR_EXPLAIN(TTR("Error loading image:")+" "+p_file);
|
||||
ERR_FAIL_COND(err!=OK);
|
||||
|
||||
img.convert(Image::FORMAT_GRAYSCALE_ALPHA);
|
||||
|
|
|
@ -249,7 +249,7 @@ void ParticlesEditor::_generate_emission_points() {
|
|||
|
||||
if (gcount==0) {
|
||||
|
||||
err_dialog->set_text(TTR("No Faces!"));
|
||||
err_dialog->set_text(TTR("No faces!"));
|
||||
err_dialog->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -622,8 +622,8 @@ Path2DEditor::Path2DEditor(EditorNode *p_editor) {
|
|||
options = memnew( MenuButton );
|
||||
add_child(options);
|
||||
options->set_area_as_parent_rect();
|
||||
options->set_text(TTR("Polygon"));
|
||||
//options->get_popup()->add_item(TTR("Parse BBCODE"),PARSE_BBCODE);
|
||||
options->set_text("Polygon");
|
||||
//options->get_popup()->add_item("Parse BBCode",PARSE_BBCODE);
|
||||
options->get_popup()->connect("item_pressed", this,"_menu_option");
|
||||
#endif
|
||||
|
||||
|
@ -636,7 +636,7 @@ Path2DEditor::Path2DEditor(EditorNode *p_editor) {
|
|||
curve_edit->set_icon(CanvasItemEditor::get_singleton()->get_icon("CurveEdit","EditorIcons"));
|
||||
curve_edit->set_toggle_mode(true);
|
||||
curve_edit->set_focus_mode(Control::FOCUS_NONE);
|
||||
curve_edit->set_tooltip("Select Points\nShift+Drag: Select Control Points\n"+keycode_get_string(KEY_MASK_CMD)+"Click: Add Point\nRight Click: Delete Point.");
|
||||
curve_edit->set_tooltip(TTR("Select Points")+"\n"+TTR("Shift+Drag: Select Control Points")+"\n"+keycode_get_string(KEY_MASK_CMD)+TTR("Click: Add Point")+"\n"+TTR("Right Click: Delete Point"));
|
||||
curve_edit->connect("pressed",this,"_mode_selected",varray(MODE_EDIT));
|
||||
base_hb->add_child(curve_edit);
|
||||
curve_edit_curve = memnew( ToolButton );
|
||||
|
@ -650,14 +650,14 @@ Path2DEditor::Path2DEditor(EditorNode *p_editor) {
|
|||
curve_create->set_icon(CanvasItemEditor::get_singleton()->get_icon("CurveCreate","EditorIcons"));
|
||||
curve_create->set_toggle_mode(true);
|
||||
curve_create->set_focus_mode(Control::FOCUS_NONE);
|
||||
curve_create->set_tooltip("Add Point (in empty space)\nSplit Segment (in curve).");
|
||||
curve_create->set_tooltip(TTR("Add Point (in empty space)")+"\n"+TTR("Split Segment (in curve)"));
|
||||
curve_create->connect("pressed",this,"_mode_selected",varray(MODE_CREATE));
|
||||
base_hb->add_child(curve_create);
|
||||
curve_del = memnew( ToolButton );
|
||||
curve_del->set_icon(CanvasItemEditor::get_singleton()->get_icon("CurveDelete","EditorIcons"));
|
||||
curve_del->set_toggle_mode(true);
|
||||
curve_del->set_focus_mode(Control::FOCUS_NONE);
|
||||
curve_del->set_tooltip(TTR("Delete Point."));
|
||||
curve_del->set_tooltip(TTR("Delete Point"));
|
||||
curve_del->connect("pressed",this,"_mode_selected",varray(MODE_DELETE));
|
||||
base_hb->add_child(curve_del);
|
||||
curve_close = memnew( ToolButton );
|
||||
|
|
|
@ -546,21 +546,21 @@ PathEditorPlugin::PathEditorPlugin(EditorNode *p_node) {
|
|||
curve_edit->set_toggle_mode(true);
|
||||
curve_edit->hide();
|
||||
curve_edit->set_focus_mode(Control::FOCUS_NONE);
|
||||
curve_edit->set_tooltip("Select Points\nShift+Drag: Select Control Points\n"+keycode_get_string(KEY_MASK_CMD)+"Click: Add Point\nRight Click: Delete Point.");
|
||||
curve_edit->set_tooltip(TTR("Select Points")+"\n"+TTR("Shift+Drag: Select Control Points")+"\n"+keycode_get_string(KEY_MASK_CMD)+TTR("Click: Add Point")+"\n"+TTR("Right Click: Delete Point"));
|
||||
SpatialEditor::get_singleton()->add_control_to_menu_panel(curve_edit);
|
||||
curve_create = memnew( ToolButton );
|
||||
curve_create->set_icon(SpatialEditor::get_singleton()->get_icon("CurveCreate","EditorIcons"));
|
||||
curve_create->set_toggle_mode(true);
|
||||
curve_create->hide();
|
||||
curve_create->set_focus_mode(Control::FOCUS_NONE);
|
||||
curve_create->set_tooltip("Add Point (in empty space)\nSplit Segment (in curve).");
|
||||
curve_create->set_tooltip(TTR("Add Point (in empty space)")+"\n"+TTR("Split Segment (in curve)"));
|
||||
SpatialEditor::get_singleton()->add_control_to_menu_panel(curve_create);
|
||||
curve_del = memnew( ToolButton );
|
||||
curve_del->set_icon(SpatialEditor::get_singleton()->get_icon("CurveDelete","EditorIcons"));
|
||||
curve_del->set_toggle_mode(true);
|
||||
curve_del->hide();
|
||||
curve_del->set_focus_mode(Control::FOCUS_NONE);
|
||||
curve_del->set_tooltip(TTR("Delete Point."));
|
||||
curve_del->set_tooltip(TTR("Delete Point"));
|
||||
SpatialEditor::get_singleton()->add_control_to_menu_panel(curve_del);
|
||||
curve_close = memnew( ToolButton );
|
||||
curve_close->set_icon(SpatialEditor::get_singleton()->get_icon("CurveClose","EditorIcons"));
|
||||
|
|
|
@ -840,8 +840,8 @@ Polygon2DEditor::Polygon2DEditor(EditorNode *p_editor) {
|
|||
options = memnew( MenuButton );
|
||||
add_child(options);
|
||||
options->set_area_as_parent_rect();
|
||||
options->set_text(TTR("Polygon"));
|
||||
//options->get_popup()->add_item(TTR("Parse BBCODE"),PARSE_BBCODE);
|
||||
options->set_text("Polygon");
|
||||
//options->get_popup()->add_item("Parse BBCode",PARSE_BBCODE);
|
||||
options->get_popup()->connect("item_pressed", this,"_menu_option");
|
||||
#endif
|
||||
|
||||
|
@ -868,7 +868,7 @@ Polygon2DEditor::Polygon2DEditor(EditorNode *p_editor) {
|
|||
uv_button[i]->set_focus_mode(FOCUS_NONE);
|
||||
}
|
||||
|
||||
uv_button[0]->set_tooltip("Move Point\nCtrl: Rotate\nShift: Move All\n:Shift+Ctrl: Scale");
|
||||
uv_button[0]->set_tooltip(TTR("Move Point")+"\n"+TTR("Ctrl: Rotate")+"\n"+TTR("Shift: Move All")+"\n"+TTR("Shift+Ctrl: Scale"));
|
||||
uv_button[1]->set_tooltip(TTR("Move Polygon"));
|
||||
uv_button[2]->set_tooltip(TTR("Rotate Polygon"));
|
||||
uv_button[3]->set_tooltip(TTR("Scale Polygon"));
|
||||
|
|
|
@ -72,7 +72,7 @@ void ResourcePreloaderEditor::_files_load_request(const Vector<String>& p_paths)
|
|||
if (resource.is_null()) {
|
||||
dialog->set_text(TTR("ERROR: Couldn't load resource!"));
|
||||
dialog->set_title(TTR("Error!"));
|
||||
//dialog->get_cancel()->set_text(TTR("Close"));
|
||||
//dialog->get_cancel()->set_text("Close");
|
||||
dialog->get_ok()->set_text(TTR("Close"));
|
||||
dialog->popup_centered_minsize();
|
||||
return; ///beh should show an error i guess
|
||||
|
@ -169,7 +169,7 @@ void ResourcePreloaderEditor::_paste_pressed() {
|
|||
if (!r.is_valid()) {
|
||||
dialog->set_text(TTR("Resource clipboard is empty!"));
|
||||
dialog->set_title(TTR("Error!"));
|
||||
//dialog->get_cancel()->set_text(TTR("Close"));
|
||||
//dialog->get_cancel()->set_text("Close");
|
||||
dialog->get_ok()->set_text(TTR("Close"));
|
||||
dialog->popup_centered_minsize();
|
||||
return; ///beh should show an error i guess
|
||||
|
@ -206,11 +206,11 @@ void ResourcePreloaderEditor::_delete_pressed() {
|
|||
|
||||
_delete_confirm_pressed(); //it has undo.. why bother with a dialog..
|
||||
/*
|
||||
dialog->set_title(TTR("Confirm..."));
|
||||
dialog->set_text(TTR("Remove Resource '")+tree->get_selected()->get_text(0)+"' ?");
|
||||
//dialog->get_cancel()->set_text(TTR("Cancel"));
|
||||
dialog->set_title("Confirm...");
|
||||
dialog->set_text("Remove Resource '"+tree->get_selected()->get_text(0)+"' ?");
|
||||
//dialog->get_cancel()->set_text("Cancel");
|
||||
//dialog->get_ok()->show();
|
||||
dialog->get_ok()->set_text(TTR("Remove"));
|
||||
dialog->get_ok()->set_text("Remove");
|
||||
dialog->popup_centered(Size2(300,60));*/
|
||||
|
||||
}
|
||||
|
|
|
@ -106,8 +106,8 @@ RichTextEditor::RichTextEditor() {
|
|||
CanvasItemEditor::get_singleton()->add_control_to_menu_panel(options);
|
||||
options->set_area_as_parent_rect();
|
||||
|
||||
options->set_text(TTR("RichText"));
|
||||
options->get_popup()->add_item(TTR("Parse BBCODE"),PARSE_BBCODE);
|
||||
options->set_text("RichText");
|
||||
options->get_popup()->add_item(TTR("Parse BBCode"),PARSE_BBCODE);
|
||||
options->get_popup()->add_item(TTR("Clear"),CLEAR);
|
||||
|
||||
options->get_popup()->connect("item_pressed", this,"_menu_option");
|
||||
|
|
|
@ -77,7 +77,7 @@ class RichTextEditorPlugin : public EditorPlugin {
|
|||
|
||||
public:
|
||||
|
||||
virtual String get_name() const { return TTR("RichText"); }
|
||||
virtual String get_name() const { return "RichText"; }
|
||||
bool has_main_screen() const { return false; }
|
||||
virtual void edit(Object *p_node);
|
||||
virtual bool handles(Object *p_node) const;
|
||||
|
|
|
@ -328,7 +328,7 @@ void SampleEditor::_update_sample() {
|
|||
return; //bye or unsupported
|
||||
|
||||
generate_preview_texture(sample,peakdisplay);
|
||||
info_label->set_text(TTR("Length: ")+itos(sample->get_length())+" frames ("+String::num(sample->get_length()/(float)sample->get_mix_rate(),2)+" s), "+(sample->get_format()==Sample::FORMAT_PCM16?"16 Bits, ":"8 bits, ")+(sample->is_stereo()?"Stereo.":"Mono."));
|
||||
info_label->set_text(TTR("Length:")+" "+vformat(TTR("%d frames"), sample->get_length())+" ("+String::num(sample->get_length()/(float)sample->get_mix_rate(),2)+" s), "+(sample->get_format()==Sample::FORMAT_PCM16?TTR("16 Bits"):TTR("8 Bits"))+", "+(sample->is_stereo()?TTR("Stereo"):TTR("Mono"))+".");
|
||||
|
||||
library->add_sample("default",sample);
|
||||
}
|
||||
|
|
|
@ -76,7 +76,7 @@ void SampleLibraryEditor::_file_load_request(const DVector<String>& p_path) {
|
|||
if (sample.is_null()) {
|
||||
dialog->set_text(TTR("ERROR: Couldn't load sample!"));
|
||||
dialog->set_title(TTR("Error!"));
|
||||
//dialog->get_cancel()->set_text(TTR("Close"));
|
||||
//dialog->get_cancel()->set_text("Close");
|
||||
dialog->get_ok()->set_text(TTR("Close"));
|
||||
dialog->popup_centered_minsize();
|
||||
return; ///beh should show an error i guess
|
||||
|
@ -248,7 +248,7 @@ void SampleLibraryEditor::_update_library() {
|
|||
ti->set_cell_mode(2,TreeItem::CELL_MODE_STRING);
|
||||
ti->set_editable(2,false);
|
||||
ti->set_selectable(2,false);
|
||||
ti->set_text(2,String()+/*itos(smp->get_length())+" frames ("+String::num(smp->get_length()/(float)smp->get_mix_rate(),2)+" smp), "+*/(smp->get_format()==Sample::FORMAT_PCM16?"16 Bits, ":(smp->get_format()==Sample::FORMAT_PCM8?"8 bits, ":TTR("IMA-ADPCM,")))+(smp->is_stereo()?"Stereo":"Mono"));
|
||||
ti->set_text(2,String()+(smp->get_format()==Sample::FORMAT_PCM16?TTR("16 Bits")+", ":(smp->get_format()==Sample::FORMAT_PCM8?TTR("8 Bits")+", ":"IMA-ADPCM,"))+(smp->is_stereo()?TTR("Stereo"):TTR("Mono")));
|
||||
|
||||
// Volume dB
|
||||
ti->set_cell_mode(3,TreeItem::CELL_MODE_RANGE);
|
||||
|
@ -457,7 +457,7 @@ SampleLibraryEditor::SampleLibraryEditor() {
|
|||
tree->set_column_title(1,TTR("Preview"));
|
||||
tree->set_column_title(2,TTR("Format"));
|
||||
tree->set_column_title(3,"dB");
|
||||
tree->set_column_title(4,"Pitch");
|
||||
tree->set_column_title(4,TTR("Pitch"));
|
||||
tree->set_column_title(5,"");
|
||||
|
||||
tree->set_column_min_width(1,150);
|
||||
|
|
|
@ -1252,16 +1252,35 @@ void ScriptEditor::_menu_option(int p_option) {
|
|||
Ref<Script> scr = current->get_edited_script();
|
||||
if (scr.is_null())
|
||||
return;
|
||||
int line = tx->cursor_get_line();
|
||||
int next_line = line + 1;
|
||||
|
||||
int from_line = tx->cursor_get_line();
|
||||
int to_line = tx->cursor_get_line();
|
||||
int column = tx->cursor_get_column();
|
||||
|
||||
if (line >= tx->get_line_count() - 1)
|
||||
tx->set_line(line, tx->get_line(line) + "\n");
|
||||
if (tx->is_selection_active()) {
|
||||
from_line = tx->get_selection_from_line();
|
||||
to_line = tx->get_selection_to_line();
|
||||
column = tx->cursor_get_column();
|
||||
}
|
||||
int next_line = to_line + 1;
|
||||
|
||||
tx->begin_complex_operation();
|
||||
for (int i = from_line; i <= to_line; i++) {
|
||||
|
||||
if (i >= tx->get_line_count() - 1) {
|
||||
tx->set_line(i, tx->get_line(i) + "\n");
|
||||
}
|
||||
String line_clone = tx->get_line(i);
|
||||
tx->insert_at(line_clone, next_line);
|
||||
next_line++;
|
||||
}
|
||||
|
||||
String line_clone = tx->get_line(line);
|
||||
tx->insert_at(line_clone, next_line);
|
||||
tx->cursor_set_column(column);
|
||||
if (tx->is_selection_active()) {
|
||||
tx->select(to_line + 1, tx->get_selection_from_column(), next_line - 1, tx->get_selection_to_column());
|
||||
}
|
||||
|
||||
tx->end_complex_operation();
|
||||
tx->update();
|
||||
|
||||
} break;
|
||||
|
@ -2441,7 +2460,7 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) {
|
|||
#else
|
||||
edit_menu->get_popup()->add_item(TTR("Complete Symbol"),EDIT_COMPLETE,KEY_MASK_CMD|KEY_SPACE);
|
||||
#endif
|
||||
edit_menu->get_popup()->add_item("Trim Trailing Whitespace", EDIT_TRIM_TRAILING_WHITESAPCE, KEY_MASK_CTRL|KEY_MASK_ALT|KEY_T);
|
||||
edit_menu->get_popup()->add_item(TTR("Trim Trailing Whitespace"), EDIT_TRIM_TRAILING_WHITESAPCE, KEY_MASK_CTRL|KEY_MASK_ALT|KEY_T);
|
||||
edit_menu->get_popup()->add_item(TTR("Auto Indent"),EDIT_AUTO_INDENT,KEY_MASK_CMD|KEY_I);
|
||||
edit_menu->get_popup()->connect("item_pressed", this,"_menu_option");
|
||||
|
||||
|
@ -2477,7 +2496,7 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) {
|
|||
debug_menu->get_popup()->add_item(TTR("Break"),DEBUG_BREAK);
|
||||
debug_menu->get_popup()->add_item(TTR("Continue"),DEBUG_CONTINUE);
|
||||
debug_menu->get_popup()->add_separator();
|
||||
//debug_menu->get_popup()->add_check_item(TTR("Show Debugger"),DEBUG_SHOW);
|
||||
//debug_menu->get_popup()->add_check_item("Show Debugger",DEBUG_SHOW);
|
||||
debug_menu->get_popup()->add_check_item(TTR("Keep Debugger Open"),DEBUG_SHOW_KEEP_OPEN);
|
||||
debug_menu->get_popup()->connect("item_pressed", this,"_menu_option");
|
||||
|
||||
|
@ -2523,7 +2542,7 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) {
|
|||
site_search->set_text(TTR("Tutorials"));
|
||||
site_search->connect("pressed",this,"_menu_option",varray(SEARCH_WEBSITE));
|
||||
menu_hb->add_child(site_search);
|
||||
site_search->set_tooltip(TTR("Open http://www.godotengine.org at tutorials section."));
|
||||
site_search->set_tooltip(TTR("Open https://godotengine.org at tutorials section."));
|
||||
|
||||
class_search = memnew( ToolButton );
|
||||
class_search->set_text(TTR("Classes"));
|
||||
|
@ -2581,7 +2600,7 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) {
|
|||
disk_changed->set_child_rect(vbc);
|
||||
|
||||
Label *dl = memnew( Label );
|
||||
dl->set_text("The following files are newer on disk.\nWhat action should be taken?:");
|
||||
dl->set_text(TTR("The following files are newer on disk.\nWhat action should be taken?:"));
|
||||
vbc->add_child(dl);
|
||||
|
||||
disk_changed_list = memnew( Tree );
|
||||
|
|
|
@ -507,7 +507,7 @@ ShaderEditor::ShaderEditor() {
|
|||
search_menu->get_popup()->add_item(TTR("Find Next"),SEARCH_FIND_NEXT,KEY_F3);
|
||||
search_menu->get_popup()->add_item(TTR("Replace.."),SEARCH_REPLACE,KEY_MASK_CMD|KEY_R);
|
||||
search_menu->get_popup()->add_separator();
|
||||
// search_menu->get_popup()->add_item(TTR("Locate Symbol.."),SEARCH_LOCATE_SYMBOL,KEY_MASK_CMD|KEY_K);
|
||||
// search_menu->get_popup()->add_item("Locate Symbol..",SEARCH_LOCATE_SYMBOL,KEY_MASK_CMD|KEY_K);
|
||||
search_menu->get_popup()->add_item(TTR("Goto Line.."),SEARCH_GOTO_LINE,KEY_MASK_CMD|KEY_G);
|
||||
search_menu->get_popup()->connect("item_pressed", this,"_menu_option");
|
||||
|
||||
|
|
|
@ -743,7 +743,7 @@ void ShaderGraphView::_vec_op_changed(int p_op, int p_id){
|
|||
void ShaderGraphView::_vec_scalar_op_changed(int p_op, int p_id){
|
||||
|
||||
UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
|
||||
ur->create_action(TTR("Change VecxScalar Operator"));
|
||||
ur->create_action(TTR("Change Vec Scalar Operator"));
|
||||
ur->add_do_method(graph.ptr(),"vec_scalar_op_node_set_op",type,p_id,p_op);
|
||||
ur->add_undo_method(graph.ptr(),"vec_scalar_op_node_set_op",type,p_id,graph->vec_scalar_op_node_get_op(type,p_id));
|
||||
ur->add_do_method(this,"_update_graph");
|
||||
|
@ -902,7 +902,7 @@ void ShaderGraphView::_variant_edited() {
|
|||
break;
|
||||
}
|
||||
UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
|
||||
ur->create_action(TTR("Change default value"));
|
||||
ur->create_action(TTR("Change Default Value"));
|
||||
ur->add_do_method(graph.ptr(),"default_set_value",type,edited_id,edited_def, v);
|
||||
ur->add_undo_method(graph.ptr(),"default_set_value",type,edited_id,edited_def, v2);
|
||||
ur->add_do_method(this,"_update_graph");
|
||||
|
@ -1427,7 +1427,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
|
||||
} break; // all inputs (case Shader type dependent)
|
||||
case ShaderGraph::NODE_SCALAR_CONST: {
|
||||
gn->set_title(TTR("Scalar"));
|
||||
gn->set_title("Scalar");
|
||||
SpinBox *sb = memnew( SpinBox );
|
||||
sb->set_min(-100000);
|
||||
sb->set_max(100000);
|
||||
|
@ -1440,7 +1440,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; //scalar constant
|
||||
case ShaderGraph::NODE_VEC_CONST: {
|
||||
|
||||
gn->set_title(TTR("Vector"));
|
||||
gn->set_title("Vector");
|
||||
Array v3p(true);
|
||||
for(int i=0;i<3;i++) {
|
||||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
|
@ -1469,11 +1469,11 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
cpb->connect("color_changed",this,"_rgb_const_changed",varray(p_id));
|
||||
gn->add_child(cpb);
|
||||
Label *l = memnew( Label );
|
||||
l->set_text(TTR("RGB"));
|
||||
l->set_text("RGB");
|
||||
l->set_align(Label::ALIGN_RIGHT);
|
||||
gn->add_child(l);
|
||||
l = memnew( Label );
|
||||
l->set_text(TTR("Alpha"));
|
||||
l->set_text("Alpha");
|
||||
l->set_align(Label::ALIGN_RIGHT);
|
||||
gn->add_child(l);
|
||||
|
||||
|
@ -1482,7 +1482,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
|
||||
} break; //rgb constant (shows a color picker instead)
|
||||
case ShaderGraph::NODE_XFORM_CONST: {
|
||||
gn->set_title(TTR("XForm"));
|
||||
gn->set_title("XForm");
|
||||
ToolButton *edit = memnew( ToolButton );
|
||||
edit->set_text("edit..");
|
||||
edit->connect("pressed",this,"_xform_const_changed",varray(p_id,edit));
|
||||
|
@ -1492,7 +1492,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // 4x4 matrix constant
|
||||
case ShaderGraph::NODE_TIME: {
|
||||
|
||||
gn->set_title(TTR("Time"));
|
||||
gn->set_title("Time");
|
||||
Label *l = memnew( Label );
|
||||
l->set_text("(s)");
|
||||
l->set_align(Label::ALIGN_RIGHT);
|
||||
|
@ -1502,24 +1502,24 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // time in seconds
|
||||
case ShaderGraph::NODE_SCREEN_TEX: {
|
||||
|
||||
gn->set_title(TTR("ScreenTex"));
|
||||
gn->set_title("ScreenTex");
|
||||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
hbc->add_constant_override("separation",0);
|
||||
if (!graph->is_slot_connected(type,p_id,0)) {
|
||||
Vector3 v = graph->default_get_value(type, p_id, 0);
|
||||
hbc->add_child(make_editor(TTR("UV: ") + v,gn,p_id,0,Variant::VECTOR3));
|
||||
hbc->add_child(make_editor("UV: " + v,gn,p_id,0,Variant::VECTOR3));
|
||||
} else {
|
||||
hbc->add_child(make_label(TTR("UV"),Variant::VECTOR3));
|
||||
hbc->add_child(make_label("UV",Variant::VECTOR3));
|
||||
}
|
||||
hbc->add_spacer();
|
||||
hbc->add_child( memnew(Label(TTR("RGB"))));
|
||||
hbc->add_child( memnew(Label("RGB")));
|
||||
gn->add_child(hbc);
|
||||
gn->set_slot(0,true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC],true,ShaderGraph::SLOT_TYPE_VEC,typecol[ShaderGraph::SLOT_TYPE_VEC]);
|
||||
|
||||
} break; // screen texture sampler (takes UV) (only usable in fragment case Shader)
|
||||
case ShaderGraph::NODE_SCALAR_OP: {
|
||||
|
||||
gn->set_title(TTR("ScalarOp"));
|
||||
gn->set_title("ScalarOp");
|
||||
static const char* op_name[ShaderGraph::SCALAR_MAX_OP]={
|
||||
("Add"),
|
||||
("Sub"),
|
||||
|
@ -1567,7 +1567,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // scalar vs scalar op (mul: { } break; add: { } break; div: { } break; etc)
|
||||
case ShaderGraph::NODE_VEC_OP: {
|
||||
|
||||
gn->set_title(TTR("VecOp"));
|
||||
gn->set_title("VecOp");
|
||||
static const char* op_name[ShaderGraph::VEC_MAX_OP]={
|
||||
("Add"),
|
||||
("Sub"),
|
||||
|
@ -1615,7 +1615,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // vec3 vs vec3 op (mul: { } break;ad: { } break;div: { } break;crossprod: { } break;etc)
|
||||
case ShaderGraph::NODE_VEC_SCALAR_OP: {
|
||||
|
||||
gn->set_title(TTR("VecScalarOp"));
|
||||
gn->set_title("VecScalarOp");
|
||||
static const char* op_name[ShaderGraph::VEC_SCALAR_MAX_OP]={
|
||||
("Mul"),
|
||||
("Div"),
|
||||
|
@ -1657,7 +1657,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // vec3 vs scalar op (mul: { } break; add: { } break; div: { } break; etc)
|
||||
case ShaderGraph::NODE_RGB_OP: {
|
||||
|
||||
gn->set_title(TTR("RGB Op"));
|
||||
gn->set_title("RGB Op");
|
||||
static const char* op_name[ShaderGraph::RGB_MAX_OP]={
|
||||
("Screen"),
|
||||
("Difference"),
|
||||
|
@ -1702,7 +1702,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // vec3 vs vec3 rgb op (with scalar amount): { } break; like brighten: { } break; darken: { } break; burn: { } break; dodge: { } break; multiply: { } break; etc.
|
||||
case ShaderGraph::NODE_XFORM_MULT: {
|
||||
|
||||
gn->set_title(TTR("XFMult"));
|
||||
gn->set_title("XFMult");
|
||||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
if (graph->is_slot_connected(type, p_id, 0)) {
|
||||
hbc->add_child(make_label("a",Variant::TRANSFORM));
|
||||
|
@ -1725,9 +1725,9 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // mat4 x mat4
|
||||
case ShaderGraph::NODE_XFORM_VEC_MULT: {
|
||||
|
||||
gn->set_title(TTR("XFVecMult"));
|
||||
gn->set_title("XFVecMult");
|
||||
|
||||
CheckBox *button = memnew (CheckBox(TTR("RotOnly")));
|
||||
CheckBox *button = memnew (CheckBox("RotOnly"));
|
||||
button->set_pressed(graph->xform_vec_mult_node_get_no_translation(type,p_id));
|
||||
button->connect("toggled",this,"_xform_inv_rev_changed",varray(p_id));
|
||||
|
||||
|
@ -1758,10 +1758,10 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break;
|
||||
case ShaderGraph::NODE_XFORM_VEC_INV_MULT: {
|
||||
|
||||
gn->set_title(TTR("XFVecInvMult"));
|
||||
gn->set_title("XFVecInvMult");
|
||||
|
||||
|
||||
CheckBox *button = memnew( CheckBox(TTR("RotOnly")));
|
||||
CheckBox *button = memnew( CheckBox("RotOnly"));
|
||||
button->set_pressed(graph->xform_vec_mult_node_get_no_translation(type,p_id));
|
||||
button->connect("toggled",this,"_xform_inv_rev_changed",varray(p_id));
|
||||
|
||||
|
@ -1793,7 +1793,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // mat4 x vec3 inverse mult (with no-translation option)
|
||||
case ShaderGraph::NODE_SCALAR_FUNC: {
|
||||
|
||||
gn->set_title(TTR("ScalarFunc"));
|
||||
gn->set_title("ScalarFunc");
|
||||
static const char* func_name[ShaderGraph::SCALAR_MAX_FUNC]={
|
||||
("Sin"),
|
||||
("Cos"),
|
||||
|
@ -1846,7 +1846,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
|
||||
|
||||
|
||||
gn->set_title(TTR("VecFunc"));
|
||||
gn->set_title("VecFunc");
|
||||
static const char* func_name[ShaderGraph::VEC_MAX_FUNC]={
|
||||
("Normalize"),
|
||||
("Saturate"),
|
||||
|
@ -1882,7 +1882,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
|
||||
} break; // vector function (normalize: { } break; negate: { } break; reciprocal: { } break; rgb2hsv: { } break; hsv2rgb: { } break; etc: { } break; etc)
|
||||
case ShaderGraph::NODE_VEC_LEN: {
|
||||
gn->set_title(TTR("VecLength"));
|
||||
gn->set_title("VecLength");
|
||||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
if (graph->is_slot_connected(type, p_id, 0)) {
|
||||
hbc->add_child(make_label("in", Variant::VECTOR3));
|
||||
|
@ -1899,7 +1899,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // vec3 length
|
||||
case ShaderGraph::NODE_DOT_PROD: {
|
||||
|
||||
gn->set_title(TTR("DotProduct"));
|
||||
gn->set_title("DotProduct");
|
||||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
hbc->add_constant_override("separation",0);
|
||||
if (graph->is_slot_connected(type, p_id, 0)) {
|
||||
|
@ -1924,7 +1924,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // vec3 . vec3 (dot product -> scalar output)
|
||||
case ShaderGraph::NODE_VEC_TO_SCALAR: {
|
||||
|
||||
gn->set_title(TTR("Vec2Scalar"));
|
||||
gn->set_title("Vec2Scalar");
|
||||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
hbc->add_constant_override("separation",0);
|
||||
if (graph->is_slot_connected(type, p_id, 0)) {
|
||||
|
@ -1955,7 +1955,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // 1 vec3 input: { } break; 3 scalar outputs
|
||||
case ShaderGraph::NODE_SCALAR_TO_VEC: {
|
||||
|
||||
gn->set_title(TTR("Scalar2Vec"));
|
||||
gn->set_title("Scalar2Vec");
|
||||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
if (graph->is_slot_connected(type, p_id, 0)) {
|
||||
hbc->add_child(make_label("x", Variant::REAL));
|
||||
|
@ -1986,7 +1986,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // 3 scalar input: { } break; 1 vec3 output
|
||||
case ShaderGraph::NODE_VEC_TO_XFORM: {
|
||||
|
||||
gn->set_title(TTR("Vec2XForm"));
|
||||
gn->set_title("Vec2XForm");
|
||||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
hbc->add_constant_override("separation",0);
|
||||
if (graph->is_slot_connected(type, p_id, 0)) {
|
||||
|
@ -2025,7 +2025,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // 3 vec input: { } break; 1 xform output
|
||||
case ShaderGraph::NODE_XFORM_TO_VEC: {
|
||||
|
||||
gn->set_title(TTR("XForm2Vec"));
|
||||
gn->set_title("XForm2Vec");
|
||||
|
||||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
hbc->add_constant_override("separation",0);
|
||||
|
@ -2057,7 +2057,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // 3 vec input: { } break; 1 xform output
|
||||
case ShaderGraph::NODE_SCALAR_INTERP: {
|
||||
|
||||
gn->set_title(TTR("ScalarInterp"));
|
||||
gn->set_title("ScalarInterp");
|
||||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
hbc->add_constant_override("separation",0);
|
||||
if (graph->is_slot_connected(type, p_id, 0)) {
|
||||
|
@ -2090,7 +2090,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // scalar interpolation (with optional curve)
|
||||
case ShaderGraph::NODE_VEC_INTERP: {
|
||||
|
||||
gn->set_title(TTR("VecInterp"));
|
||||
gn->set_title("VecInterp");
|
||||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
if (graph->is_slot_connected(type, p_id, 0)) {
|
||||
hbc->add_child(make_label("a", Variant::VECTOR3));
|
||||
|
@ -2174,7 +2174,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // scalar interpolation (with optional curve)
|
||||
case ShaderGraph::NODE_CURVE_MAP: {
|
||||
|
||||
gn->set_title(TTR("CurveMap"));
|
||||
gn->set_title("CurveMap");
|
||||
GraphCurveMapEdit * map = memnew( GraphCurveMapEdit );
|
||||
|
||||
DVector<Vector2> points = graph->curve_map_node_get_points(type,p_id);
|
||||
|
@ -2221,7 +2221,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
|
||||
case ShaderGraph::NODE_SCALAR_INPUT: {
|
||||
|
||||
gn->set_title(TTR("ScalarUniform"));
|
||||
gn->set_title("ScalarUniform");
|
||||
LineEdit *le = memnew( LineEdit );
|
||||
gn->add_child(le);
|
||||
le->set_text(graph->input_node_get_name(type,p_id));
|
||||
|
@ -2238,7 +2238,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // scalar uniform (assignable in material)
|
||||
case ShaderGraph::NODE_VEC_INPUT: {
|
||||
|
||||
gn->set_title(TTR("VectorUniform"));
|
||||
gn->set_title("VectorUniform");
|
||||
LineEdit *le = memnew( LineEdit );
|
||||
gn->add_child(le);
|
||||
le->set_text(graph->input_node_get_name(type,p_id));
|
||||
|
@ -2265,7 +2265,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // vec3 uniform (assignable in material)
|
||||
case ShaderGraph::NODE_RGB_INPUT: {
|
||||
|
||||
gn->set_title(TTR("ColorUniform"));
|
||||
gn->set_title("ColorUniform");
|
||||
LineEdit *le = memnew( LineEdit );
|
||||
gn->add_child(le);
|
||||
le->set_text(graph->input_node_get_name(type,p_id));
|
||||
|
@ -2275,11 +2275,11 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
cpb->connect("color_changed",this,"_rgb_input_changed",varray(p_id));
|
||||
gn->add_child(cpb);
|
||||
Label *l = memnew( Label );
|
||||
l->set_text(TTR("RGB"));
|
||||
l->set_text("RGB");
|
||||
l->set_align(Label::ALIGN_RIGHT);
|
||||
gn->add_child(l);
|
||||
l = memnew( Label );
|
||||
l->set_text(TTR("Alpha"));
|
||||
l->set_text("Alpha");
|
||||
l->set_align(Label::ALIGN_RIGHT);
|
||||
gn->add_child(l);
|
||||
|
||||
|
@ -2289,7 +2289,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
|
||||
} break; // color uniform (assignable in material)
|
||||
case ShaderGraph::NODE_XFORM_INPUT: {
|
||||
gn->set_title(TTR("XFUniform"));
|
||||
gn->set_title("XFUniform");
|
||||
LineEdit *le = memnew( LineEdit );
|
||||
gn->add_child(le);
|
||||
le->set_text(graph->input_node_get_name(type,p_id));
|
||||
|
@ -2303,7 +2303,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // mat4 uniform (assignable in material)
|
||||
case ShaderGraph::NODE_TEXTURE_INPUT: {
|
||||
|
||||
gn->set_title(TTR("TexUniform"));
|
||||
gn->set_title("TexUniform");
|
||||
LineEdit *le = memnew( LineEdit );
|
||||
gn->add_child(le);
|
||||
le->set_text(graph->input_node_get_name(type,p_id));
|
||||
|
@ -2311,7 +2311,9 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
TextureFrame *tex = memnew( TextureFrame );
|
||||
tex->set_expand(true);
|
||||
tex->set_custom_minimum_size(Size2(80,80));
|
||||
tex->set_drag_forwarding(this);
|
||||
gn->add_child(tex);
|
||||
tex->set_ignore_mouse(false);
|
||||
tex->set_texture(graph->texture_input_node_get_value(type,p_id));
|
||||
ToolButton *edit = memnew( ToolButton );
|
||||
edit->set_text("edit..");
|
||||
|
@ -2321,18 +2323,18 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
hbc->add_constant_override("separation",0);
|
||||
if (graph->is_slot_connected(type, p_id, 0)) {
|
||||
hbc->add_child(make_label(TTR("UV"), Variant::VECTOR3));
|
||||
hbc->add_child(make_label("UV", Variant::VECTOR3));
|
||||
} else {
|
||||
Vector3 v = graph->default_get_value(type,p_id,0);
|
||||
hbc->add_child(make_editor(String(TTR("UV: "))+v,gn,p_id,0,Variant::VECTOR3));
|
||||
hbc->add_child(make_editor(String("UV: ")+v,gn,p_id,0,Variant::VECTOR3));
|
||||
}
|
||||
hbc->add_spacer();
|
||||
Label *l=memnew(Label(TTR("RGB")));
|
||||
Label *l=memnew(Label("RGB"));
|
||||
l->set_align(Label::ALIGN_RIGHT);
|
||||
hbc->add_child(l);
|
||||
gn->add_child(hbc);
|
||||
l = memnew( Label );
|
||||
l->set_text(TTR("Alpha"));
|
||||
l->set_text("Alpha");
|
||||
l->set_align(Label::ALIGN_RIGHT);
|
||||
gn->add_child(l);
|
||||
|
||||
|
@ -2342,7 +2344,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // texture input (assignable in material)
|
||||
case ShaderGraph::NODE_CUBEMAP_INPUT: {
|
||||
|
||||
gn->set_title(TTR("TexUniform"));
|
||||
gn->set_title("TexUniform");
|
||||
LineEdit *le = memnew( LineEdit );
|
||||
gn->add_child(le);
|
||||
le->set_text(graph->input_node_get_name(type,p_id));
|
||||
|
@ -2357,18 +2359,18 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
hbc->add_constant_override("separation",0);
|
||||
if (graph->is_slot_connected(type, p_id, 0)) {
|
||||
hbc->add_child(make_label(TTR("UV"), Variant::VECTOR3));
|
||||
hbc->add_child(make_label("UV", Variant::VECTOR3));
|
||||
} else {
|
||||
Vector3 v = graph->default_get_value(type,p_id,0);
|
||||
hbc->add_child(make_editor(String(TTR("UV: "))+v,gn,p_id,0,Variant::VECTOR3));
|
||||
hbc->add_child(make_editor(String("UV: ")+v,gn,p_id,0,Variant::VECTOR3));
|
||||
}
|
||||
hbc->add_spacer();
|
||||
Label *l=memnew(Label(TTR("RGB")));
|
||||
Label *l=memnew(Label("RGB"));
|
||||
l->set_align(Label::ALIGN_RIGHT);
|
||||
hbc->add_child(l);
|
||||
gn->add_child(hbc);
|
||||
l = memnew( Label );
|
||||
l->set_text(TTR("Alpha"));
|
||||
l->set_text("Alpha");
|
||||
l->set_align(Label::ALIGN_RIGHT);
|
||||
gn->add_child(l);
|
||||
|
||||
|
@ -2378,22 +2380,22 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // cubemap input (assignable in material)
|
||||
case ShaderGraph::NODE_DEFAULT_TEXTURE: {
|
||||
|
||||
gn->set_title(TTR("CanvasItemTex"));
|
||||
gn->set_title("CanvasItemTex");
|
||||
HBoxContainer *hbc = memnew( HBoxContainer );
|
||||
hbc->add_constant_override("separation",0);
|
||||
if (graph->is_slot_connected(type, p_id, 0)) {
|
||||
hbc->add_child(make_label(TTR("UV"), Variant::VECTOR3));
|
||||
hbc->add_child(make_label("UV", Variant::VECTOR3));
|
||||
} else {
|
||||
Vector3 v = graph->default_get_value(type,p_id,0);
|
||||
hbc->add_child(make_editor(String(TTR("UV: "))+v,gn,p_id,0,Variant::VECTOR3));
|
||||
hbc->add_child(make_editor(String("UV: ")+v,gn,p_id,0,Variant::VECTOR3));
|
||||
}
|
||||
hbc->add_spacer();
|
||||
Label *l=memnew(Label(TTR("RGB")));
|
||||
Label *l=memnew(Label("RGB"));
|
||||
l->set_align(Label::ALIGN_RIGHT);
|
||||
hbc->add_child(l);
|
||||
gn->add_child(hbc);
|
||||
l = memnew( Label );
|
||||
l->set_text(TTR("Alpha"));
|
||||
l->set_text("Alpha");
|
||||
l->set_align(Label::ALIGN_RIGHT);
|
||||
gn->add_child(l);
|
||||
|
||||
|
@ -2404,7 +2406,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
} break; // screen texture sampler (takes UV) (only usable in fragment case Shader)
|
||||
|
||||
case ShaderGraph::NODE_OUTPUT: {
|
||||
gn->set_title(TTR("Output"));
|
||||
gn->set_title("Output");
|
||||
gn->set_show_close_button(false);
|
||||
|
||||
List<ShaderGraph::SlotInfo> si;
|
||||
|
@ -2412,22 +2414,22 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
|
||||
Array colors;
|
||||
colors.push_back("Color");
|
||||
colors.push_back(TTR("LightColor"));
|
||||
colors.push_back("LightColor");
|
||||
colors.push_back("Light");
|
||||
colors.push_back(TTR("Diffuse"));
|
||||
colors.push_back(TTR("Specular"));
|
||||
colors.push_back(TTR("Emmision"));
|
||||
colors.push_back("Diffuse");
|
||||
colors.push_back("Specular");
|
||||
colors.push_back("Emmision");
|
||||
Array reals;
|
||||
reals.push_back(TTR("Alpha"));
|
||||
reals.push_back(TTR("DiffuseAlpha"));
|
||||
reals.push_back(TTR("NormalMapDepth"));
|
||||
reals.push_back(TTR("SpecExp"));
|
||||
reals.push_back(TTR("Glow"));
|
||||
reals.push_back(TTR("ShadeParam"));
|
||||
reals.push_back(TTR("SpecularExp"));
|
||||
reals.push_back(TTR("LightAlpha"));
|
||||
reals.push_back(TTR("PointSize"));
|
||||
reals.push_back(TTR("Discard"));
|
||||
reals.push_back("Alpha");
|
||||
reals.push_back("DiffuseAlpha");
|
||||
reals.push_back("NormalMapDepth");
|
||||
reals.push_back("SpecExp");
|
||||
reals.push_back("Glow");
|
||||
reals.push_back("ShadeParam");
|
||||
reals.push_back("SpecularExp");
|
||||
reals.push_back("LightAlpha");
|
||||
reals.push_back("PointSize");
|
||||
reals.push_back("Discard");
|
||||
|
||||
int idx=0;
|
||||
for (List<ShaderGraph::SlotInfo>::Element *E=si.front();E;E=E->next()) {
|
||||
|
@ -2448,7 +2450,7 @@ void ShaderGraphView::_create_node(int p_id) {
|
|||
|
||||
} break; // output (case Shader type dependent)
|
||||
case ShaderGraph::NODE_COMMENT: {
|
||||
gn->set_title(TTR("Comment"));
|
||||
gn->set_title("Comment");
|
||||
TextEdit *te = memnew(TextEdit);
|
||||
te->set_custom_minimum_size(Size2(100,100));
|
||||
gn->add_child(te);
|
||||
|
@ -2517,6 +2519,105 @@ void ShaderGraphView::_sg_updated() {
|
|||
}
|
||||
}
|
||||
|
||||
Variant ShaderGraphView::get_drag_data_fw(const Point2 &p_point, Control *p_from)
|
||||
{
|
||||
TextureFrame* frame = p_from->cast_to<TextureFrame>();
|
||||
if (!frame)
|
||||
return Variant();
|
||||
|
||||
if (!frame->get_texture().is_valid())
|
||||
return Variant();
|
||||
|
||||
RES res = frame->get_texture();
|
||||
return EditorNode::get_singleton()->drag_resource(res,p_from);
|
||||
|
||||
return Variant();
|
||||
}
|
||||
|
||||
bool ShaderGraphView::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const
|
||||
{
|
||||
if (p_data.get_type() != Variant::DICTIONARY)
|
||||
return false;
|
||||
|
||||
Dictionary d = p_data;
|
||||
|
||||
if (d.has("type")){
|
||||
if (d["type"] == "resource" && d.has("resource")) {
|
||||
Variant val = d["resource"];
|
||||
|
||||
if (val.get_type()==Variant::OBJECT) {
|
||||
RES res = val;
|
||||
if (res.is_valid() && res->cast_to<Texture>())
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else if (d["type"] == "files" && d.has("files")) {
|
||||
Vector<String> files = d["files"];
|
||||
if (files.size() != 1)
|
||||
return false;
|
||||
return (ResourceLoader::get_resource_type(files[0]) == "ImageTexture");
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void ShaderGraphView::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from)
|
||||
{
|
||||
if (!can_drop_data_fw(p_point, p_data, p_from))
|
||||
return;
|
||||
|
||||
TextureFrame *frame = p_from->cast_to<TextureFrame>();
|
||||
if (!frame)
|
||||
return;
|
||||
|
||||
Dictionary d = p_data;
|
||||
Ref<Texture> tex;
|
||||
|
||||
if (d.has("type")) {
|
||||
if (d["type"] == "resource" && d.has("resource")){
|
||||
Variant val = d["resource"];
|
||||
|
||||
if (val.get_type()==Variant::OBJECT) {
|
||||
RES res = val;
|
||||
if (res.is_valid())
|
||||
tex = Ref<Texture>(res->cast_to<Texture>());
|
||||
}
|
||||
}
|
||||
else if (d["type"] == "files" && d.has("files")) {
|
||||
Vector<String> files = d["files"];
|
||||
RES res = ResourceLoader::load(files[0]);
|
||||
if (res.is_valid())
|
||||
tex = Ref<Texture>(res->cast_to<Texture>());
|
||||
}
|
||||
}
|
||||
|
||||
if (!tex.is_valid()) return;
|
||||
|
||||
GraphNode *gn = frame->get_parent()->cast_to<GraphNode>();
|
||||
if (!gn) return;
|
||||
|
||||
int id = -1;
|
||||
for(Map<int,GraphNode*>::Element *E = node_map.front();E;E=E->next())
|
||||
if (E->get() == gn) {
|
||||
id = E->key();
|
||||
break;
|
||||
}
|
||||
print_line(String::num(double(id)));
|
||||
if (id < 0) return;
|
||||
|
||||
if (graph->node_get_type(type,id)==ShaderGraph::NODE_TEXTURE_INPUT) {
|
||||
|
||||
UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
|
||||
ur->create_action(TTR("Change Texture Uniform"));
|
||||
ur->add_do_method(graph.ptr(),"texture_input_node_set_value",type,id,tex);
|
||||
ur->add_undo_method(graph.ptr(),"texture_input_node_set_value",type,id,graph->texture_input_node_get_value(type,id));
|
||||
ur->add_do_method(this,"_update_graph");
|
||||
ur->add_undo_method(this,"_update_graph");
|
||||
ur->commit_action();
|
||||
}
|
||||
}
|
||||
|
||||
void ShaderGraphView::set_graph(Ref<ShaderGraph> p_graph){
|
||||
|
||||
|
||||
|
@ -2623,6 +2724,10 @@ void ShaderGraphView::_bind_methods() {
|
|||
ObjectTypeDB::bind_method("_color_ramp_changed",&ShaderGraphView::_color_ramp_changed);
|
||||
ObjectTypeDB::bind_method("_curve_changed",&ShaderGraphView::_curve_changed);
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("get_drag_data_fw"), &ShaderGraphView::get_drag_data_fw);
|
||||
ObjectTypeDB::bind_method(_MD("can_drop_data_fw"), &ShaderGraphView::can_drop_data_fw);
|
||||
ObjectTypeDB::bind_method(_MD("drop_data_fw"), &ShaderGraphView::drop_data_fw);
|
||||
|
||||
ObjectTypeDB::bind_method("_sg_updated",&ShaderGraphView::_sg_updated);
|
||||
}
|
||||
|
||||
|
|
|
@ -116,7 +116,7 @@ public:
|
|||
GraphCurveMapEdit();
|
||||
};
|
||||
|
||||
class ShaderGraphView : public Node {
|
||||
class ShaderGraphView : public Control {
|
||||
|
||||
OBJ_TYPE(ShaderGraphView,Node);
|
||||
|
||||
|
@ -181,6 +181,10 @@ class ShaderGraphView : public Node {
|
|||
void _curve_changed(int p_id,Node* p_curve);
|
||||
void _sg_updated();
|
||||
Map<int,GraphNode*> node_map;
|
||||
|
||||
Variant get_drag_data_fw(const Point2& p_point,Control* p_from);
|
||||
bool can_drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from) const;
|
||||
void drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from);
|
||||
protected:
|
||||
void _notification(int p_what);
|
||||
static void _bind_methods();
|
||||
|
|
|
@ -561,7 +561,7 @@ void SpatialEditorViewport::_select_region() {
|
|||
|
||||
void SpatialEditorViewport::_update_name() {
|
||||
|
||||
String ortho = orthogonal?TTR("Orthogonal"):"Perspective";
|
||||
String ortho = orthogonal?TTR("Orthogonal"):TTR("Perspective");
|
||||
|
||||
if (name!="")
|
||||
view_menu->set_text("[ "+name+" "+ortho+" ]");
|
||||
|
@ -1229,7 +1229,7 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) {
|
|||
case InputEvent::MOUSE_MOTION: {
|
||||
const InputEventMouseMotion &m=p_event.mouse_motion;
|
||||
_edit.mouse_pos=Point2(p_event.mouse_motion.x,p_event.mouse_motion.y);
|
||||
|
||||
|
||||
if (spatial_editor->get_selected()) {
|
||||
|
||||
|
||||
|
@ -1265,7 +1265,7 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) {
|
|||
|
||||
NavigationScheme nav_scheme = _get_navigation_schema("3d_editor/navigation_scheme");
|
||||
NavigationMode nav_mode = NAVIGATION_NONE;
|
||||
|
||||
|
||||
if (_edit.gizmo.is_valid()) {
|
||||
|
||||
Plane plane=Plane(_edit.gizmo_initial_pos,_get_camera_normal());
|
||||
|
@ -1353,7 +1353,7 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) {
|
|||
scale = Math::stepify(scale,spatial_editor->get_scale_snap());
|
||||
}
|
||||
|
||||
set_message(TTR("Scaling to ")+String::num(scale,1)+"%.");
|
||||
set_message(vformat(TTR("Scaling to %s%%."),String::num(scale,1)));
|
||||
scale/=100.0;
|
||||
|
||||
Transform r;
|
||||
|
@ -1431,7 +1431,7 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) {
|
|||
motion.snap(snap);
|
||||
}
|
||||
|
||||
//set_message(TTR("Translating: ")+motion);
|
||||
//set_message("Translating: "+motion);
|
||||
|
||||
List<Node*> &selection = editor_selection->get_selected_node_list();
|
||||
|
||||
|
@ -1493,13 +1493,13 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) {
|
|||
if (snap) {
|
||||
angle=Math::rad2deg(angle)+snap*0.5; //else it wont reach +180
|
||||
angle-=Math::fmod(angle,snap);
|
||||
set_message(TTR("Rotating ")+rtos(angle)+" degrees.");
|
||||
set_message(vformat(TTR("Rotating %s degrees."),rtos(angle)));
|
||||
angle=Math::deg2rad(angle);
|
||||
} else
|
||||
set_message(TTR("Rotating ")+rtos(Math::rad2deg(angle))+" degrees.");
|
||||
set_message(vformat(TTR("Rotating %s degrees."),rtos(Math::rad2deg(angle))));
|
||||
|
||||
} else {
|
||||
set_message(TTR("Rotating ")+rtos(Math::rad2deg(angle))+" degrees.");
|
||||
set_message(vformat(TTR("Rotating %s degrees."),rtos(Math::rad2deg(angle))));
|
||||
}
|
||||
|
||||
|
||||
|
@ -1591,7 +1591,7 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) {
|
|||
mod=KEY_CONTROL;
|
||||
if (m.mod.meta)
|
||||
mod=KEY_META;
|
||||
|
||||
|
||||
if(mod){
|
||||
if (mod == _get_key_modifier("3d_editor/pan_modifier"))
|
||||
nav_mode = NAVIGATION_PAN;
|
||||
|
@ -1815,7 +1815,7 @@ void SpatialEditorViewport::_notification(int p_what) {
|
|||
|
||||
if (visible)
|
||||
_update_camera();
|
||||
|
||||
|
||||
call_deferred("update_transform_gizmo_view");
|
||||
}
|
||||
|
||||
|
@ -1967,7 +1967,7 @@ void SpatialEditorViewport::_draw() {
|
|||
if (surface->has_focus()) {
|
||||
Size2 size = surface->get_size();
|
||||
Rect2 r =Rect2(Point2(),size);
|
||||
get_stylebox(TTR("EditorFocus"),"EditorStyles")->draw(surface->get_canvas_item(),r);
|
||||
get_stylebox("EditorFocus","EditorStyles")->draw(surface->get_canvas_item(),r);
|
||||
}
|
||||
|
||||
|
||||
|
@ -2482,7 +2482,7 @@ SpatialEditorViewport::SpatialEditorViewport(SpatialEditor *p_spatial_editor, Ed
|
|||
view_menu->get_popup()->add_check_item(TTR("Orthogonal (Num5)"),VIEW_ORTHOGONAL);
|
||||
view_menu->get_popup()->set_item_checked(view_menu->get_popup()->get_item_index(VIEW_PERSPECTIVE),true);
|
||||
view_menu->get_popup()->add_separator();
|
||||
view_menu->get_popup()->add_check_item("Environment",VIEW_ENVIRONMENT);
|
||||
view_menu->get_popup()->add_check_item(TTR("Environment"),VIEW_ENVIRONMENT);
|
||||
view_menu->get_popup()->set_item_checked( view_menu->get_popup()->get_item_index(VIEW_ENVIRONMENT),true);
|
||||
view_menu->get_popup()->add_separator();
|
||||
view_menu->get_popup()->add_check_item(TTR("Audio Listener"),VIEW_AUDIO_LISTENER);
|
||||
|
|
|
@ -78,7 +78,7 @@ void SpriteFramesEditor::_file_load_request(const DVector<String>& p_path,int p_
|
|||
if (resource.is_null()) {
|
||||
dialog->set_text(TTR("ERROR: Couldn't load frame resource!"));
|
||||
dialog->set_title(TTR("Error!"));
|
||||
//dialog->get_cancel()->set_text(TTR("Close"));
|
||||
//dialog->get_cancel()->set_text("Close");
|
||||
dialog->get_ok()->set_text(TTR("Close"));
|
||||
dialog->popup_centered_minsize();
|
||||
return; ///beh should show an error i guess
|
||||
|
@ -152,7 +152,7 @@ void SpriteFramesEditor::_item_edited() {
|
|||
}
|
||||
|
||||
RES samp = frames->get_resource(old_name);
|
||||
undo_redo->create_action(TTR("Rename Resource"));
|
||||
undo_redo->create_action("Rename Resource");
|
||||
undo_redo->add_do_method(frames,"remove_resource",old_name);
|
||||
undo_redo->add_do_method(frames,"add_resource",new_name,samp);
|
||||
undo_redo->add_undo_method(frames,"remove_resource",new_name);
|
||||
|
@ -198,7 +198,7 @@ void SpriteFramesEditor::_paste_pressed() {
|
|||
if (!r.is_valid()) {
|
||||
dialog->set_text(TTR("Resource clipboard is empty or not a texture!"));
|
||||
dialog->set_title(TTR("Error!"));
|
||||
//dialog->get_cancel()->set_text(TTR("Close"));
|
||||
//dialog->get_cancel()->set_text("Close");
|
||||
dialog->get_ok()->set_text(TTR("Close"));
|
||||
dialog->popup_centered_minsize();
|
||||
return; ///beh should show an error i guess
|
||||
|
@ -333,11 +333,11 @@ void SpriteFramesEditor::_delete_pressed() {
|
|||
|
||||
_delete_confirm_pressed(); //it has undo.. why bother with a dialog..
|
||||
/*
|
||||
dialog->set_title(TTR("Confirm..."));
|
||||
dialog->set_text(TTR("Remove Resource '")+tree->get_selected()->get_text(0)+"' ?");
|
||||
//dialog->get_cancel()->set_text(TTR("Cancel"));
|
||||
dialog->set_title("Confirm...");
|
||||
dialog->set_text("Remove Resource '"+tree->get_selected()->get_text(0)+"' ?");
|
||||
//dialog->get_cancel()->set_text("Cancel");
|
||||
//dialog->get_ok()->show();
|
||||
dialog->get_ok()->set_text(TTR("Remove"));
|
||||
dialog->get_ok()->set_text("Remove");
|
||||
dialog->popup_centered(Size2(300,60));*/
|
||||
|
||||
}
|
||||
|
@ -530,7 +530,7 @@ void SpriteFramesEditor::_update_library(bool p_skip_selector) {
|
|||
|
||||
if (frames->get_frame(edited_anim,i).is_null()) {
|
||||
|
||||
name=itos(i)+TTR(": (empty)");
|
||||
name=itos(i)+": "+TTR("(empty)");
|
||||
|
||||
} else {
|
||||
name=itos(i)+": "+frames->get_frame(edited_anim,i)->get_name();
|
||||
|
|
|
@ -119,7 +119,7 @@ class SpriteRegionEditorPlugin : public EditorPlugin
|
|||
EditorNode *editor;
|
||||
public:
|
||||
|
||||
virtual String get_name() const { return TTR("SpriteRegion"); }
|
||||
virtual String get_name() const { return "SpriteRegion"; }
|
||||
bool has_main_screen() const { return false; }
|
||||
virtual void edit(Object *p_node);
|
||||
virtual bool handles(Object *p_node) const;
|
||||
|
|
|
@ -69,7 +69,7 @@ class StreamEditorPlugin : public EditorPlugin {
|
|||
|
||||
public:
|
||||
|
||||
virtual String get_name() const { return TTR("Stream"); }
|
||||
virtual String get_name() const { return "Stream"; }
|
||||
bool has_main_screen() const { return false; }
|
||||
virtual void edit(Object *p_node);
|
||||
virtual bool handles(Object *p_node) const;
|
||||
|
|
|
@ -199,7 +199,7 @@ void ThemeEditor::_save_template_cbk(String fname) {
|
|||
if (!file) {
|
||||
|
||||
|
||||
ERR_EXPLAIN(TTR("Can't save theme to file: ")+filename);
|
||||
ERR_EXPLAIN(TTR("Can't save theme to file:")+" "+filename);
|
||||
return;
|
||||
}
|
||||
file->store_line("; ******************* ");
|
||||
|
@ -398,7 +398,7 @@ void ThemeEditor::_dialog_cbk() {
|
|||
}
|
||||
|
||||
|
||||
} break;
|
||||
} break;
|
||||
case POPUP_CLASS_REMOVE: {
|
||||
StringName fromtype = type_edit->get_text();
|
||||
List<StringName> names;
|
||||
|
@ -599,7 +599,7 @@ ThemeEditor::ThemeEditor() {
|
|||
theme_menu->get_popup()->add_item(TTR("Add Item"),POPUP_ADD);
|
||||
theme_menu->get_popup()->add_item(TTR("Add Class Items"),POPUP_CLASS_ADD);
|
||||
theme_menu->get_popup()->add_item(TTR("Remove Item"),POPUP_REMOVE);
|
||||
theme_menu->get_popup()->add_item("Remove Class Items",POPUP_CLASS_REMOVE);
|
||||
theme_menu->get_popup()->add_item(TTR("Remove Class Items"),POPUP_CLASS_REMOVE);
|
||||
theme_menu->get_popup()->add_separator();
|
||||
theme_menu->get_popup()->add_item(TTR("Create Template"),POPUP_CREATE_TEMPLATE);
|
||||
hb_menu->add_child(theme_menu);
|
||||
|
@ -757,7 +757,7 @@ ThemeEditor::ThemeEditor() {
|
|||
line_edit = memnew( LineEdit );
|
||||
line_edit->set_pos( Point2( 25, 275 ) );
|
||||
line_edit->set_size( Point2( 150, 5 ) );
|
||||
line_edit->set_text(TTR("Line Edit"));
|
||||
line_edit->set_text("Line Edit");
|
||||
panel->add_child(line_edit);
|
||||
|
||||
test_v_scroll = memnew( VScrollBar );
|
||||
|
@ -786,12 +786,12 @@ ThemeEditor::ThemeEditor() {
|
|||
item = test_tree->create_item( test_tree->get_root() );
|
||||
item->set_cell_mode(0, TreeItem::CELL_MODE_RANGE);
|
||||
item->set_editable(0,true);
|
||||
item->set_text(0,TTR("Have,Many,Several,Options!"));
|
||||
item->set_text(0,"Have,Many,Several,Options!"));
|
||||
item->set_range(0,2);
|
||||
|
||||
Button *fd_button= memnew( Button );
|
||||
fd_button->set_pos(Point2(300,275));
|
||||
fd_button->set_text(TTR("Open File Dialog"));
|
||||
fd_button->set_text("Open File Dialog");
|
||||
panel->add_child(fd_button);
|
||||
|
||||
test_file_dialog = memnew( EditorFileDialog );
|
||||
|
@ -852,8 +852,8 @@ ThemeEditor::ThemeEditor() {
|
|||
type_select = memnew( OptionButton );
|
||||
type_select->add_item(TTR("Icon"));
|
||||
type_select->add_item(TTR("Style"));
|
||||
type_select->add_item("Font");
|
||||
type_select->add_item("Color");
|
||||
type_select->add_item(TTR("Font"));
|
||||
type_select->add_item(TTR("Color"));
|
||||
type_select->add_item(TTR("Constant"));
|
||||
type_select->set_pos( Point2( 400,25 ) );
|
||||
type_select->set_size( Point2( 80,5 ) );
|
||||
|
|
|
@ -1318,13 +1318,13 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) {
|
|||
|
||||
PopupMenu *p = options->get_popup();
|
||||
|
||||
p->add_item("Bucket", OPTION_BUCKET);
|
||||
p->add_item(TTR("Bucket"), OPTION_BUCKET);
|
||||
p->add_separator();
|
||||
p->add_item("Pick Tile", OPTION_PICK_TILE, KEY_CONTROL);
|
||||
p->add_item(TTR("Pick Tile"), OPTION_PICK_TILE, KEY_CONTROL);
|
||||
p->add_separator();
|
||||
p->add_item("Select", OPTION_SELECT, KEY_MASK_CMD+KEY_B);
|
||||
p->add_item(TTR("Select"), OPTION_SELECT, KEY_MASK_CMD+KEY_B);
|
||||
p->add_item(TTR("Duplicate Selection"), OPTION_DUPLICATE, KEY_MASK_CMD+KEY_D);
|
||||
p->add_item("Erase Selection", OPTION_ERASE_SELECTION, KEY_DELETE);
|
||||
p->add_item(TTR("Erase Selection"), OPTION_ERASE_SELECTION, KEY_DELETE);
|
||||
|
||||
p->connect("item_pressed", this, "_menu_option");
|
||||
|
||||
|
|
|
@ -130,7 +130,7 @@ class TileMapEditor : public VBoxContainer {
|
|||
|
||||
void _fill_points(const DVector<Vector2> p_points, const Dictionary& p_op);
|
||||
void _erase_points(const DVector<Vector2> p_points);
|
||||
|
||||
|
||||
void _select(const Point2i& p_from, const Point2i& p_to);
|
||||
|
||||
void _draw_cell(int p_cell, const Point2i& p_point, bool p_flip_h, bool p_flip_v, bool p_transpose, const Matrix32& p_xform);
|
||||
|
|
|
@ -175,7 +175,7 @@ void TileSetEditor::_name_dialog_confirm(const String& name) {
|
|||
if (tileset->has_tile(id)) {
|
||||
tileset->remove_tile(id);
|
||||
} else {
|
||||
err_dialog->set_text(TTR("Could not find tile: ") + name);
|
||||
err_dialog->set_text(TTR("Could not find tile:")+" " + name);
|
||||
err_dialog->popup_centered(Size2(300, 60));
|
||||
}
|
||||
} break;
|
||||
|
|
|
@ -470,7 +470,7 @@ void ProjectExportDialog::_export_action(const String& p_file) {
|
|||
/* Checked if the export location is outside the project directory,
|
||||
* now will check if a file name has been entered */
|
||||
if (p_file.ends_with("/")) {
|
||||
|
||||
|
||||
error->set_text("Please enter a file name!");
|
||||
error->popup_centered_minsize();
|
||||
return;
|
||||
|
@ -505,7 +505,7 @@ void ProjectExportDialog::_export_action_pck(const String& p_file) {
|
|||
if (p_file.ends_with(".pck")) {
|
||||
FileAccess *f = FileAccess::open(p_file,FileAccess::WRITE);
|
||||
if (!f) {
|
||||
error->set_text(TTR("Error exporting project PCK! Can't write"));
|
||||
error->set_text(TTR("Error writing the project PCK!"));
|
||||
error->popup_centered_minsize();
|
||||
}
|
||||
ERR_FAIL_COND(!f);
|
||||
|
@ -586,7 +586,7 @@ void ProjectExportDialog::custom_action(const String&) {
|
|||
Ref<EditorExportPlatform> exporter = EditorImportExport::get_singleton()->get_export_platform(platform);
|
||||
|
||||
if (exporter.is_null()) {
|
||||
error->set_text(TTR("No exporter for platform '")+platform+"' yet.");
|
||||
error->set_text(vformat(TTR("No exporter for platform '%s' yet."),platform));
|
||||
error->popup_centered_minsize();
|
||||
return;
|
||||
}
|
||||
|
@ -858,17 +858,17 @@ void ProjectExportDialog::_group_add() {
|
|||
|
||||
if (name=="") {
|
||||
group_new_name_error->show();
|
||||
group_new_name_error->set_text(TTR("Group Name Can't be Empty!"));
|
||||
group_new_name_error->set_text(TTR("Group name can't be empty!"));
|
||||
return;
|
||||
}
|
||||
if (name.find("/")!=-1 || name.find(":")!=-1 || name.find(",")!=-1 || name.find("-")!=-1) {
|
||||
group_new_name_error->set_text(TTR("Invalid Character in Group Name!"));
|
||||
group_new_name_error->set_text(TTR("Invalid character in group name!"));
|
||||
group_new_name_error->show();
|
||||
return;
|
||||
}
|
||||
|
||||
if (EditorImportExport::get_singleton()->image_export_has_group(name)) {
|
||||
group_new_name_error->set_text(TTR("Group Name Already Exists!"));
|
||||
group_new_name_error->set_text(TTR("Group name already exists!"));
|
||||
group_new_name_error->show();
|
||||
return;
|
||||
}
|
||||
|
@ -1061,13 +1061,13 @@ void ProjectExportDialog::_group_atlas_preview() {
|
|||
Error err = plugin->import2(dst_file,imd,EditorExportPlatform::IMAGE_COMPRESSION_NONE,true);
|
||||
if (err) {
|
||||
|
||||
EditorNode::add_io_error(TTR("Error saving atlas! ")+dst_file.get_file());
|
||||
EditorNode::add_io_error(TTR("Error saving atlas:")+" "+dst_file.get_file());
|
||||
return;
|
||||
}
|
||||
|
||||
Ref<Texture> tex = ResourceLoader::load(dst_file);
|
||||
atlas_preview_frame->set_texture(tex); //clear previous
|
||||
atlas_preview_dialog->set_title(TTR("Atlas Preview (")+itos(tex->get_width())+"x"+itos(tex->get_height())+")");
|
||||
atlas_preview_dialog->set_title(TTR("Atlas Preview")+" ("+itos(tex->get_width())+"x"+itos(tex->get_height())+")");
|
||||
atlas_preview_dialog->popup_centered_ratio(0.9);
|
||||
|
||||
}
|
||||
|
@ -1211,14 +1211,14 @@ ProjectExportDialog::ProjectExportDialog(EditorNode *p_editor) {
|
|||
tree->set_column_min_width(1,90);
|
||||
|
||||
filters = memnew( LineEdit );
|
||||
vb->add_margin_child(TTR("Filters to export non-resource files (Comma Separated, eg: *.json, *.txt):"),filters);
|
||||
vb->add_margin_child(TTR("Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):"),filters);
|
||||
filters->connect("text_changed",this,"_filters_edited");
|
||||
filters_exclude = memnew( LineEdit );
|
||||
vb->add_margin_child(TTR("Filters to exclude from export (Comma Separated, eg: *.json, *.txt):"),filters_exclude);
|
||||
vb->add_margin_child(TTR("Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):"),filters_exclude);
|
||||
filters_exclude->connect("text_changed",this,"_filters_exclude_edited");
|
||||
|
||||
convert_text_scenes = memnew( CheckButton );
|
||||
convert_text_scenes->set_text(TTR("Convert text scenes to binary on export"));
|
||||
convert_text_scenes->set_text(TTR("Convert text scenes to binary on export."));
|
||||
vb->add_child(convert_text_scenes);
|
||||
convert_text_scenes->connect("toggled",this,"_export_mode_changed");
|
||||
|
||||
|
@ -1260,7 +1260,7 @@ ProjectExportDialog::ProjectExportDialog(EditorNode *p_editor) {
|
|||
fmt->set_editable(0,true);
|
||||
formats.push_back(fmt);
|
||||
}
|
||||
image_vb->add_margin_child(TTR("Compress Formats: "),image_formats,true);
|
||||
image_vb->add_margin_child(TTR("Compress Formats:")+" ",image_formats,true);
|
||||
|
||||
/// groups
|
||||
HBoxContainer *group_hb = memnew( HBoxContainer );
|
||||
|
@ -1421,7 +1421,7 @@ ProjectExportDialog::ProjectExportDialog(EditorNode *p_editor) {
|
|||
sample_max_hz = memnew( SpinBox );
|
||||
sample_max_hz->set_max(192000);
|
||||
sample_max_hz->set_min(8000);
|
||||
sample_vbox->add_margin_child(TTR("Sampling Rate Limit: (hz)"),sample_max_hz);
|
||||
sample_vbox->add_margin_child(TTR("Sampling Rate Limit (Hz):"),sample_max_hz);
|
||||
sample_trim = memnew( CheckButton );
|
||||
sample_trim->set_text(TTR("Trim"));
|
||||
sample_vbox->add_margin_child(TTR("Trailing Silence:"),sample_trim);
|
||||
|
@ -1529,7 +1529,7 @@ Error ProjectExport::export_project(const String& p_preset) {
|
|||
String preset_path=Globals::get_singleton()->get("export_presets_path/"+selected);
|
||||
if (preset_path=="") {
|
||||
|
||||
error->set_text(TTR("Export path empty, see export options"));
|
||||
error->set_text("Export path empty, see export options");
|
||||
error->popup_centered_minsize(Size2(300,100));
|
||||
ERR_FAIL_V(ERR_INVALID_DATA);
|
||||
}
|
||||
|
@ -1551,9 +1551,9 @@ Error ProjectExport::export_project(const String& p_preset) {
|
|||
}
|
||||
if (pc%3 != 0 ) {
|
||||
memdelete(d);
|
||||
error->set_text(TTR("Corrupted export data.."));
|
||||
error->set_text("Corrupted export data..");
|
||||
error->popup_centered_minsize(Size2(300,100));
|
||||
ERR_EXPLAIN(TTR("Corrupted export data..."));
|
||||
ERR_EXPLAIN("Corrupted export data...");
|
||||
ERR_FAIL_V(ERR_INVALID_DATA);
|
||||
}
|
||||
|
||||
|
@ -1706,7 +1706,7 @@ Error ProjectExport::export_project(const String& p_preset) {
|
|||
if (err!=OK) {
|
||||
memdelete(da);
|
||||
memdelete(d);
|
||||
ERR_EXPLAIN(TTR("Cannot make dir: ")+cwd+"/"+p);
|
||||
ERR_EXPLAIN("Cannot make dir: "+cwd+"/"+p);
|
||||
ERR_FAIL_V(ERR_CANT_CREATE);
|
||||
}
|
||||
|
||||
|
@ -1714,7 +1714,7 @@ Error ProjectExport::export_project(const String& p_preset) {
|
|||
|
||||
memdelete(da);
|
||||
memdelete(d);
|
||||
ERR_EXPLAIN(TTR("Cannot change to dir: ")+cwd+"/"+p);
|
||||
ERR_EXPLAIN("Cannot change to dir: "+cwd+"/"+p);
|
||||
ERR_FAIL_V(ERR_CANT_CREATE);
|
||||
}
|
||||
|
||||
|
@ -1742,7 +1742,7 @@ Error ProjectExport::export_project(const String& p_preset) {
|
|||
|
||||
if (!Globals::get_singleton()->has("optimizer_presets/"+preset)) {
|
||||
memdelete(d);
|
||||
ERR_EXPLAIN(TTR("Unknown optimizer preset: ")+preset);
|
||||
ERR_EXPLAIN("Unknown optimizer preset: "+preset);
|
||||
ERR_FAIL_V(ERR_INVALID_DATA);
|
||||
}
|
||||
|
||||
|
@ -1763,7 +1763,7 @@ Error ProjectExport::export_project(const String& p_preset) {
|
|||
|
||||
if (saver.is_null()) {
|
||||
memdelete(d);
|
||||
ERR_EXPLAIN(TTR("Preset '")+preset+"' references nonexistent saver: "+type);
|
||||
ERR_EXPLAIN("Preset '"+preset+"' references nonexistent saver: "+type);
|
||||
ERR_FAIL_COND_V(saver.is_null(),ERR_INVALID_DATA);
|
||||
}
|
||||
|
||||
|
@ -1807,7 +1807,7 @@ Error ProjectExport::export_project(const String& p_preset) {
|
|||
if (res.is_null()) {
|
||||
|
||||
memdelete(d);
|
||||
ERR_EXPLAIN(TTR("Errr loading resource to optimize: ")+path);
|
||||
ERR_EXPLAIN("Error loading resource to optimize: "+path);
|
||||
ERR_FAIL_V(ERR_INVALID_DATA);
|
||||
}
|
||||
|
||||
|
@ -1830,7 +1830,7 @@ Error ProjectExport::export_project(const String& p_preset) {
|
|||
Error err = ResourceSaver::save(write_file,res,flags,saver);
|
||||
if (err) {
|
||||
memdelete(d);
|
||||
ERR_EXPLAIN(TTR("Errr saving optimized resource: ")+write_file);
|
||||
ERR_EXPLAIN("Error saving optimized resource: "+write_file);
|
||||
ERR_FAIL_COND_V(err,ERR_CANT_OPEN);
|
||||
}
|
||||
source_file=write_file;
|
||||
|
@ -1853,7 +1853,7 @@ Error ProjectExport::export_project(const String& p_preset) {
|
|||
if (err) {
|
||||
|
||||
|
||||
ERR_EXPLAIN(TTR("Error copying from: ")+source_file+" to "+dst_file+".");
|
||||
ERR_EXPLAIN("Error copying from: "+source_file+" to "+dst_file+".");
|
||||
ERR_FAIL_COND_V(err,err);
|
||||
}
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ class NewProjectDialog : public ConfirmationDialog {
|
|||
get_ok()->set_disabled(true);
|
||||
DirAccess *d = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
|
||||
if (project_path->get_text() != "" && d->change_dir(project_path->get_text())!=OK) {
|
||||
error->set_text(TTR("Invalid Path for Project, Path Must Exist!"));
|
||||
error->set_text(TTR("Invalid project path, the path must exist!"));
|
||||
memdelete(d);
|
||||
return false;
|
||||
}
|
||||
|
@ -75,7 +75,7 @@ class NewProjectDialog : public ConfirmationDialog {
|
|||
|
||||
if (d->file_exists("engine.cfg")) {
|
||||
|
||||
error->set_text(TTR("Invalid Project Path (engine.cfg must not exist)."));
|
||||
error->set_text(TTR("Invalid project path, engine.cfg must not exist."));
|
||||
memdelete(d);
|
||||
return false;
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ class NewProjectDialog : public ConfirmationDialog {
|
|||
|
||||
if (project_path->get_text() != "" && !d->file_exists("engine.cfg")) {
|
||||
|
||||
error->set_text(TTR("Invalid Project Path (engine.cfg must exist)."));
|
||||
error->set_text(TTR("Invalid project path, engine.cfg must exist."));
|
||||
memdelete(d);
|
||||
return false;
|
||||
}
|
||||
|
@ -170,7 +170,7 @@ class NewProjectDialog : public ConfirmationDialog {
|
|||
DirAccess *d = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
|
||||
|
||||
if (d->change_dir(project_path->get_text())!=OK) {
|
||||
error->set_text(TTR("Invalid Path for Project (changed anything?)"));
|
||||
error->set_text(TTR("Invalid project path (changed anything?)."));
|
||||
memdelete(d);
|
||||
return;
|
||||
}
|
||||
|
@ -180,7 +180,7 @@ class NewProjectDialog : public ConfirmationDialog {
|
|||
|
||||
FileAccess *f = FileAccess::open(dir.plus_file("/engine.cfg"),FileAccess::WRITE);
|
||||
if (!f) {
|
||||
error->set_text(TTR("Couldn't create engine.cfg in project path"));
|
||||
error->set_text(TTR("Couldn't create engine.cfg in project path."));
|
||||
} else {
|
||||
|
||||
f->store_line("; Engine configuration file.");
|
||||
|
@ -247,7 +247,7 @@ public:
|
|||
if (import_mode) {
|
||||
set_title(TTR("Import Existing Project"));
|
||||
get_ok()->set_text(TTR("Import"));
|
||||
pp->set_text(TTR("Project Path: (Must exist)"));
|
||||
pp->set_text(TTR("Project Path (Must Exist):"));
|
||||
pn->set_text(TTR("Project Name:"));
|
||||
pn->hide();
|
||||
project_name->hide();
|
||||
|
@ -788,7 +788,7 @@ void ProjectManager::_erase_project() {
|
|||
return;
|
||||
|
||||
|
||||
erase_ask->set_text(TTR("Remove project from list?? (Folder contents will not be modified)"));
|
||||
erase_ask->set_text(TTR("Remove project from the list? (Folder contents will not be modified)"));
|
||||
erase_ask->popup_centered_minsize();
|
||||
|
||||
}
|
||||
|
@ -822,8 +822,8 @@ void ProjectManager::_bind_methods() {
|
|||
|
||||
ProjectManager::ProjectManager() {
|
||||
|
||||
int margin = get_constant("margin",TTR("Dialogs"));
|
||||
int button_margin = get_constant("button_margin",TTR("Dialogs"));
|
||||
int margin = get_constant("margin","Dialogs");
|
||||
int button_margin = get_constant("button_margin","Dialogs");
|
||||
|
||||
// load settings
|
||||
if (!EditorSettings::get_singleton())
|
||||
|
@ -999,8 +999,8 @@ ProjectManager::ProjectManager() {
|
|||
_scan_begin( EditorSettings::get_singleton()->get("global/autoscan_project_path") );
|
||||
}
|
||||
|
||||
//get_ok()->set_text(TTR("Open"));
|
||||
//get_ok()->set_text(TTR("Exit"));
|
||||
//get_ok()->set_text("Open");
|
||||
//get_ok()->set_text("Exit");
|
||||
|
||||
last_clicked = "";
|
||||
}
|
||||
|
|
|
@ -139,7 +139,7 @@ void ProjectSettings::_action_edited() {
|
|||
ti->set_text(0,old_name);
|
||||
add_at="input/"+old_name;
|
||||
|
||||
message->set_text(TTR("Invalid Action (Anything goes but / or :)."));
|
||||
message->set_text(TTR("Invalid action (anything goes but '/' or ':')."));
|
||||
message->popup_centered(Size2(300,100));
|
||||
return;
|
||||
}
|
||||
|
@ -151,7 +151,7 @@ void ProjectSettings::_action_edited() {
|
|||
ti->set_text(0,old_name);
|
||||
add_at="input/"+old_name;
|
||||
|
||||
message->set_text(TTR("Action '")+new_name+"' already exists!.");
|
||||
message->set_text(vformat(TTR("Action '%s' already exists!"),new_name));
|
||||
message->popup_centered(Size2(300,100));
|
||||
return;
|
||||
}
|
||||
|
@ -357,7 +357,7 @@ void ProjectSettings::_add_item(int p_item){
|
|||
for(int i=0;i<JOY_AXIS_MAX*2;i++) {
|
||||
|
||||
String desc = _axis_names[i];
|
||||
device_index->add_item(TTR("Axis ")+itos(i/2)+" "+(i&1?"+":"-")+desc);
|
||||
device_index->add_item(TTR("Axis")+" "+itos(i/2)+" "+(i&1?"+":"-")+desc);
|
||||
}
|
||||
device_input->popup_centered(Size2(350,95));
|
||||
|
||||
|
@ -517,7 +517,7 @@ void ProjectSettings::_update_actions() {
|
|||
} break;
|
||||
case InputEvent::JOYSTICK_BUTTON: {
|
||||
|
||||
String str = TTR("Device ")+itos(ie.device)+", Button "+itos(ie.joy_button.button_index);
|
||||
String str = TTR("Device")+" "+itos(ie.device)+", "+TTR("Button")+" "+itos(ie.joy_button.button_index);
|
||||
if (ie.joy_button.button_index>=0 && ie.joy_button.button_index<JOY_BUTTON_MAX)
|
||||
str+=String()+" ("+_button_names[ie.joy_button.button_index]+").";
|
||||
else
|
||||
|
@ -528,14 +528,14 @@ void ProjectSettings::_update_actions() {
|
|||
} break;
|
||||
case InputEvent::MOUSE_BUTTON: {
|
||||
|
||||
String str = TTR("Device ")+itos(ie.device)+", ";
|
||||
String str = TTR("Device")+" "+itos(ie.device)+", ";
|
||||
switch (ie.mouse_button.button_index) {
|
||||
case BUTTON_LEFT: str+=TTR("Left Button."); break;
|
||||
case BUTTON_RIGHT: str+=TTR("Right Button."); break;
|
||||
case BUTTON_MIDDLE: str+=TTR("Middle Button."); break;
|
||||
case BUTTON_WHEEL_UP: str+=TTR("Wheel Up."); break;
|
||||
case BUTTON_WHEEL_DOWN: str+=TTR("Wheel Down."); break;
|
||||
default: str+=TTR("Button ")+itos(ie.mouse_button.button_index)+".";
|
||||
default: str+=TTR("Button")+" "+itos(ie.mouse_button.button_index)+".";
|
||||
}
|
||||
|
||||
action->set_text(0,str);
|
||||
|
@ -546,7 +546,7 @@ void ProjectSettings::_update_actions() {
|
|||
int ax = ie.joy_motion.axis;
|
||||
int n = 2*ax + (ie.joy_motion.axis_value<0 ? 0:1);
|
||||
String desc = _axis_names[n];
|
||||
String str = TTR("Device ")+itos(ie.device)+", Axis "+itos(ax)+" "+(ie.joy_motion.axis_value<0?"-":"+")+desc +".";
|
||||
String str = TTR("Device")+" "+itos(ie.device)+", "+TTR("Axis")+" "+itos(ax)+" "+(ie.joy_motion.axis_value<0?"-":"+")+desc +".";
|
||||
action->set_text(0,str);
|
||||
action->set_icon(0,get_icon("JoyAxis","EditorIcons"));
|
||||
} break;
|
||||
|
@ -650,13 +650,13 @@ void ProjectSettings::_action_add() {
|
|||
|
||||
String action = action_name->get_text();
|
||||
if (action.find("/")!=-1 || action.find(":")!=-1 || action=="") {
|
||||
message->set_text(TTR("Invalid Action (Anything goes but / or :)."));
|
||||
message->set_text(TTR("Invalid action (anything goes but '/' or ':')."));
|
||||
message->popup_centered(Size2(300,100));
|
||||
return;
|
||||
}
|
||||
|
||||
if (Globals::get_singleton()->has("input/"+action)) {
|
||||
message->set_text(TTR("Action '")+action+"' already exists!.");
|
||||
message->set_text(vformat(TTR("Action '%s' already exists!"),action));
|
||||
message->popup_centered(Size2(300,100));
|
||||
return;
|
||||
}
|
||||
|
@ -710,7 +710,7 @@ void ProjectSettings::_item_checked(const String& p_item, bool p_check) {
|
|||
void ProjectSettings::_save() {
|
||||
|
||||
Error err = Globals::get_singleton()->save();
|
||||
message->set_text(err!=OK?TTR("Error saving settings."):"Settings Saved OK.");
|
||||
message->set_text(err!=OK?TTR("Error saving settings."):TTR("Settings saved OK."));
|
||||
message->popup_centered(Size2(300,100));
|
||||
}
|
||||
|
||||
|
@ -851,7 +851,7 @@ void ProjectSettings::_autoload_edited() {
|
|||
if (checked)
|
||||
path="*"+path;
|
||||
|
||||
undo_redo->create_action(TTR("Toggle Autoload GlobalVar"));
|
||||
undo_redo->create_action(TTR("Toggle AutoLoad Globals"));
|
||||
undo_redo->add_do_property(Globals::get_singleton(),base,path);
|
||||
undo_redo->add_undo_property(Globals::get_singleton(),base,Globals::get_singleton()->get(base));
|
||||
undo_redo->add_do_method(Globals::get_singleton(),"set_order",base,order); // keep order, as config order matters for these
|
||||
|
@ -869,7 +869,7 @@ void ProjectSettings::_autoload_add() {
|
|||
|
||||
String name = autoload_add_name->get_text();
|
||||
if (!name.is_valid_identifier()) {
|
||||
message->set_text("Invalid Name.\nValid characters: a-z,A-Z,0-9 or _");
|
||||
message->set_text(TTR("Invalid name.")+"\n"+TTR("Valid characters:")+" a-z, A-Z, 0-9 or _");
|
||||
message->popup_centered(Size2(300,100));
|
||||
return;
|
||||
|
||||
|
@ -877,7 +877,7 @@ void ProjectSettings::_autoload_add() {
|
|||
|
||||
if (ObjectTypeDB::type_exists(name)) {
|
||||
|
||||
message->set_text(TTR("Invalid Name.Must not collide with an existing engine class name."));
|
||||
message->set_text(TTR("Invalid name. Must not collide with an existing engine class name."));
|
||||
message->popup_centered(Size2(300,100));
|
||||
return;
|
||||
|
||||
|
@ -886,7 +886,7 @@ void ProjectSettings::_autoload_add() {
|
|||
for(int i=0;i<Variant::VARIANT_MAX;i++) {
|
||||
if (Variant::get_type_name(Variant::Type(i))==name) {
|
||||
|
||||
message->set_text(TTR("Invalid Name.Must not collide with an existing buit-in type name."));
|
||||
message->set_text(TTR("Invalid name. Must not collide with an existing buit-in type name."));
|
||||
message->popup_centered(Size2(300,100));
|
||||
return;
|
||||
|
||||
|
@ -897,7 +897,7 @@ void ProjectSettings::_autoload_add() {
|
|||
|
||||
if (GlobalConstants::get_global_constant_name(i)==name) {
|
||||
|
||||
message->set_text(TTR("Invalid Name.Must not collide with an existing global constant name."));
|
||||
message->set_text(TTR("Invalid name. Must not collide with an existing global constant name."));
|
||||
message->popup_centered(Size2(300,100));
|
||||
return;
|
||||
}
|
||||
|
@ -1556,7 +1556,7 @@ ProjectSettings::ProjectSettings(EditorData *p_data) {
|
|||
save->set_anchor(MARGIN_BOTTOM,ANCHOR_END);
|
||||
save->set_begin( Point2(80,28) );
|
||||
save->set_end( Point2(10,20) );
|
||||
save->set_text(TTR("Save"));
|
||||
save->set_text("Save");
|
||||
save->connect("pressed",this,"_save");
|
||||
*/
|
||||
|
||||
|
@ -1684,7 +1684,7 @@ ProjectSettings::ProjectSettings(EditorData *p_data) {
|
|||
save->set_anchor(MARGIN_BOTTOM,ANCHOR_END);
|
||||
save->set_begin( Point2(80,28) );
|
||||
save->set_end( Point2(10,20) );
|
||||
save->set_text(TTR("Save"));
|
||||
save->set_text("Save");
|
||||
save->connect("pressed",this,"_save");
|
||||
*/
|
||||
setting=false;
|
||||
|
@ -1861,7 +1861,7 @@ ProjectSettings::ProjectSettings(EditorData *p_data) {
|
|||
|
||||
/*
|
||||
Control * es = memnew( Control );
|
||||
es->set_name(TTR("Export"));
|
||||
es->set_name("Export");
|
||||
tab_container->add_child(es);
|
||||
export_settings = memnew( ProjectExportSettings );
|
||||
es->add_child(export_settings);
|
||||
|
|
|
@ -419,8 +419,8 @@ bool CustomPropertyEditor::edit(Object* p_owner,const String& p_name,Variant::Ty
|
|||
|
||||
//action_buttons[0];
|
||||
|
||||
int button_margin = get_constant("button_margin",TTR("Dialogs"));
|
||||
int margin = get_constant("margin",TTR("Dialogs"));
|
||||
int button_margin = get_constant("button_margin","Dialogs");
|
||||
int margin = get_constant("margin","Dialogs");
|
||||
|
||||
action_buttons[0]->set_anchor( MARGIN_LEFT, ANCHOR_END );
|
||||
action_buttons[0]->set_anchor( MARGIN_TOP, ANCHOR_END );
|
||||
|
@ -691,10 +691,10 @@ bool CustomPropertyEditor::edit(Object* p_owner,const String& p_name,Variant::Ty
|
|||
int id = TYPE_BASE_ID+idx;
|
||||
if (has_icon(t,"EditorIcons")) {
|
||||
|
||||
menu->add_icon_item(get_icon(t,"EditorIcons"),"New "+t,id);
|
||||
menu->add_icon_item(get_icon(t,"EditorIcons"),TTR("New")+" "+t,id);
|
||||
} else {
|
||||
|
||||
menu->add_item(TTR("New ")+t,id);
|
||||
menu->add_item(TTR("New")+" "+t,id);
|
||||
}
|
||||
|
||||
idx++;
|
||||
|
@ -936,7 +936,7 @@ void CustomPropertyEditor::_node_path_selected(NodePath p_path) {
|
|||
|
||||
if (owner->is_type("Node"))
|
||||
node = owner->cast_to<Node>();
|
||||
else if (owner->is_type(TTR("ArrayPropertyEdit")))
|
||||
else if (owner->is_type("ArrayPropertyEdit"))
|
||||
node = owner->cast_to<ArrayPropertyEdit>()->get_node();
|
||||
|
||||
if (!node) {
|
||||
|
@ -1732,7 +1732,7 @@ CustomPropertyEditor::CustomPropertyEditor() {
|
|||
add_child(checks20[i]);
|
||||
checks20[i]->hide();
|
||||
checks20[i]->connect("pressed",this,"_action_pressed",make_binds(i));
|
||||
checks20[i]->set_tooltip(TTR("Bit ")+itos(i)+", val "+itos(1<<i)+".");
|
||||
checks20[i]->set_tooltip(vformat(TTR("Bit %d, val %d."), i, 1<<i));
|
||||
}
|
||||
|
||||
text_edit = memnew( TextEdit );
|
||||
|
@ -2658,11 +2658,11 @@ void PropertyEditor::update_tree() {
|
|||
TreeItem *title = tree->create_item(root);
|
||||
|
||||
title->set_custom_bg_color(0,get_color("prop_section","Editor"));
|
||||
title->set_text(0,TTR("Property")); // todo, fetch name if ID exists in database
|
||||
title->set_text(0,"Property"); // todo, fetch name if ID exists in database
|
||||
title->set_editable(0,false);
|
||||
title->set_selectable(0,false);
|
||||
title->set_custom_bg_color(1,get_color("prop_section","Editor"));
|
||||
title->set_text(1,TTR("Value")); // todo, fetch name if ID exists in database
|
||||
title->set_text(1,"Value"); // todo, fetch name if ID exists in database
|
||||
title->set_editable(1,false);
|
||||
title->set_selectable(1,false);
|
||||
*/
|
||||
|
@ -2671,7 +2671,7 @@ void PropertyEditor::update_tree() {
|
|||
if (obj->cast_to<Node>() || obj->cast_to<Resource>()) {
|
||||
TreeItem *type = tree->create_item(root);
|
||||
|
||||
type->set_text(0,TTR("Type")); // todo, fetch name if ID exists in database
|
||||
type->set_text(0,"Type"); // todo, fetch name if ID exists in database
|
||||
type->set_text(1,obj->get_type()); // todo, fetch name if ID exists in database
|
||||
if (has_icon(obj->get_type(),"EditorIcons"))
|
||||
type->set_icon(1,get_icon(obj->get_type(),"EditorIcons") );
|
||||
|
@ -2684,7 +2684,7 @@ void PropertyEditor::update_tree() {
|
|||
|
||||
TreeItem *name = tree->create_item(root);
|
||||
|
||||
name->set_text(0,TTR("Name")); // todo, fetch name if ID exists in database
|
||||
name->set_text(0,"Name"); // todo, fetch name if ID exists in database
|
||||
if (obj->is_type("Resource"))
|
||||
name->set_text(1,obj->cast_to<Resource>()->get_name());
|
||||
else if (obj->is_type("Node"))
|
||||
|
@ -2767,7 +2767,7 @@ void PropertyEditor::update_tree() {
|
|||
|
||||
}
|
||||
|
||||
sep->set_tooltip(0,TTR("Class: ")+p.name+":\n\n"+class_descr_cache[type]);
|
||||
sep->set_tooltip(0,TTR("Class:")+" "+p.name+":\n\n"+class_descr_cache[type]);
|
||||
}
|
||||
//sep->set_custom_color(0,Color(1,1,1));
|
||||
|
||||
|
@ -2864,7 +2864,7 @@ void PropertyEditor::update_tree() {
|
|||
descr_cache[type][setter]=descr;
|
||||
}
|
||||
|
||||
item->set_tooltip(0, TTR("Property: ")+p.name+"\n\n"+descr);
|
||||
item->set_tooltip(0, TTR("Property:")+" "+p.name+"\n\n"+descr);
|
||||
}
|
||||
}
|
||||
//EditorHelp::get_doc_data();
|
||||
|
@ -3433,7 +3433,7 @@ void PropertyEditor::_edit_set(const String& p_name, const Variant& p_value) {
|
|||
} else {
|
||||
|
||||
|
||||
undo_redo->create_action(TTR("Set ")+p_name,true);
|
||||
undo_redo->create_action(TTR("Set")+" "+p_name,true);
|
||||
undo_redo->add_do_property(obj,p_name,p_value);
|
||||
undo_redo->add_undo_property(obj,p_name,obj->get(p_name));
|
||||
undo_redo->add_do_method(this,"_changed_callback",obj,p_name);
|
||||
|
|
|
@ -82,7 +82,7 @@ static void _compress_image(Image::CompressMode p_mode,Image *p_image) {
|
|||
|
||||
}
|
||||
|
||||
if (EditorSettings::get_singleton()->get(TTR("PVRTC/fast_conversion")).operator bool()) {
|
||||
if (EditorSettings::get_singleton()->get("PVRTC/fast_conversion").operator bool()) {
|
||||
args.push_back("-pvrtcfast");
|
||||
}
|
||||
if (p_image->get_mipmaps()>0)
|
||||
|
@ -93,13 +93,13 @@ static void _compress_image(Image::CompressMode p_mode,Image *p_image) {
|
|||
ResourceSaver::save(src_img,t);
|
||||
|
||||
Error err = OS::get_singleton()->execute(ttpath,args,true);
|
||||
ERR_EXPLAIN(TTR("Could not execute PVRTC Tool: ")+ttpath);
|
||||
ERR_EXPLAIN(TTR("Could not execute PVRTC tool:")+" "+ttpath);
|
||||
ERR_FAIL_COND(err!=OK);
|
||||
|
||||
|
||||
t=ResourceLoader::load(dst_img,"Texture");
|
||||
|
||||
ERR_EXPLAIN(TTR("Can't load back converted image using PVRTC Tool: ")+dst_img);
|
||||
ERR_EXPLAIN(TTR("Can't load back converted image using PVRTC tool:")+" "+dst_img);
|
||||
ERR_FAIL_COND(t.is_null());
|
||||
|
||||
*p_image=t->get_data();
|
||||
|
|
|
@ -32,4 +32,4 @@
|
|||
|
||||
void register_exporters();
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -99,7 +99,7 @@ ReparentDialog::ReparentDialog() {
|
|||
|
||||
//Label *label = memnew( Label );
|
||||
//label->set_pos( Point2( 15,8) );
|
||||
//label->set_text(TTR("Reparent Location (Select new Parent):"));
|
||||
//label->set_text("Reparent Location (Select new Parent):");
|
||||
|
||||
keep_transform = memnew( CheckBox );
|
||||
keep_transform->set_text(TTR("Keep Global Transform"));
|
||||
|
@ -107,7 +107,7 @@ ReparentDialog::ReparentDialog() {
|
|||
vbc->add_child(keep_transform);
|
||||
|
||||
|
||||
//vbc->add_margin_child(TTR("Options:"),node_only);;
|
||||
//vbc->add_margin_child("Options:",node_only);;
|
||||
|
||||
//cancel->connect("pressed", this,"_cancel");
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue