Age | Commit message (Collapse) | Author |
|
|
|
Fix unicode invalid skip error in AssetLib
|
|
|
|
|
|
|
|
Redo how instance bindings work
|
|
This PR implements range iterators in the base containers (Vector, Map, List, Pair Set).
Given several of these data structures will be replaced by more efficient versions, having a common iterator API will make this simpler.
Iterating can be done as follows (examples):
```C++
//Vector<String>
for(const String& I: vector) {
}
//List<String>
for(const String& I: list) {
}
//Map<String,int>
for(const KeyValue<String,int>&I : map) {
print_line("key: "+I.key+" value: "+itos(I.value));
}
//if intending to write the elements, reference can be used
//Map<String,int>
for(KeyValue<String,int>& I: map) {
I.value = 25;
//this will fail because key is always const
//I.key = "hello"
}
```
The containers are (for now) not STL compatible, since this would mean changing how they work internally (STL uses a special head/tail allocation for end(), while Godot Map/Set/List do not).
The idea is to change the Godot versions to be more compatible with STL, but this will happen after conversion to new iterators have taken place.
|
|
* The harcoded 8 slots are no more and impose limits in the new extension system.
* New system is limitless, although it will impose small performance hit with a mutex.
* Use a token to request the instance binding.
**Warning**: Mono will most likely break as a result of this, will need to be modified to use the new system.
|
|
* Unifies how material parameters are updated.
* Single function, easier to maintain.
* Updates materials properly when textures change.
|
|
-Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX
-Removed the V-Sync via Compositor option
|
|
shortcuts
|
|
|
|
Would cause memory leak when the context was `start`ed but not
`finish`ed.
|
|
This commit adds a new method to the `InputMap`, allowing the user to get the value of an action's dead zone as a float.
|
|
Force String as Dictionary key instead of StringName
|
|
* Lua table syntax uses named indexing: `{ mykey = myvalue }`
* Python style syntax uses string indexing: `{ "mykey" : myvalue }`
* Both are incompatible since a StringName key wont fetch a String key, hence confusing.
* This PR proposes always using String for indexing at a very minimal performance cost. Always indexing with StringNames will be faster, but they are considerably more expensive to create.
|
|
Also use const more often.
|
|
LocalVector: Don't error if `from` >= `count`
|
|
Add Callable.is_valid() analogous to FuncRef.is_valid() from 3.x
|
|
Vector handles this silently by returning -1, and we should do the same here.
Otherwise we get errors when calling `find()` on e.g. a LocalVector of size 0,
while `find()` is expected to always work (if the parameters are invalid then
it doesn't find anything, so -1).
Fixup to #49925.
|
|
|
|
Network port comparison is always false
|
|
* Functions to convert to/from degrees are all gone. Conversion is done by the editor.
* Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees.
* Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m"
* In general, can add suffixes for EditorSpinSlider
Not covered by this PR, will have to be addressed by future ones:
* Ability to switch radians/degrees in the inspector for angle properties (if actually wanted).
* Animations previously made will most likely break, need to add a way to make old ones compatible.
* Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes.
* Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
|
|
error: comparison is always false due to limited range of data type [-Werror=type-limits]
ERR_FAIL_COND_V_MSG(p_port < 0 || p_port > 65535, ERR_INVALID_PARAMETER, "The local port number must be between 0 and 65535 (inclusive).");
|
|
* Ability to allocate empty objects in RID_Owner, so RID_PtrOwner is not needed in most cases.
* Improves cache usage, as objects are now allocated together
* Should improve performance in 2D rendering
|
|
Make use of variable "from" in local_vector find() function.
|
|
|
|
Validate image formats, check if resize_to_po2 failed
|
|
|
|
|
|
|
|
* Deprecates GDNative in favor of a simpler, lower level interface.
* New extension system allows registering core engine classes.
* Simple header interface in gdnative_interace.h
|
|
Fix crash when freeing GradientTexture and NoiseTexture
|
|
|
|
|
|
|
|
Also MIDIMessage
|
|
|
|
|
|
|
|
Added support for scripts reporting multiple errors to ScriptTextEditor
|
|
Binary serialization for reals
|
|
Fix `InputMap.action_erase_event()` failing to erase events correctly.
|
|
Consolidate JSON, JSONParseResults and JSONParser into JSON
|
|
Scripts can now report multiple errors to the scripting editors in the engine. UI elements were added to support multiple errors.
|
|
Renames JSON.parse_string() to parse()
Renames JSON.decode_data() to stringify()
|
|
This can be used by editor plugins and non-game applications to
store data in the correct directories according to the
XDG Base Directory specification.
|
|
Make some Variant internal functions public.
|
|
|
|
Add Quaternion angle_to method
|