generated from krampus/template-godot4
Compare commits
No commits in common. "main" and "v_web-rtc-test" have entirely different histories.
main
...
v_web-rtc-
@ -37,10 +37,10 @@ jobs:
|
|||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5.3.0
|
uses: actions/setup-python@v5.3.0
|
||||||
with:
|
with:
|
||||||
python-version: "3.11"
|
python-version: '3.11'
|
||||||
- name: Install gdscript-toolkit
|
- name: Install gdscript-toolkit
|
||||||
run: pip install -r requirements.txt
|
run: pip install -r requirements.txt
|
||||||
- name: Run gdLint
|
- name: Run gdLint
|
||||||
run: gdlint prefabs resources scenes
|
run: gdlint src/
|
||||||
- name: Check formatting
|
- name: Check formatting
|
||||||
run: gdformat -c prefabs resources scenes
|
run: gdformat -c src
|
||||||
|
|||||||
3
.gitignore
vendored
3
.gitignore
vendored
@ -19,6 +19,3 @@ mono_crash.*.json
|
|||||||
|
|
||||||
# Project demos
|
# Project demos
|
||||||
/demos/
|
/demos/
|
||||||
|
|
||||||
# Captures
|
|
||||||
captures
|
|
||||||
|
|||||||
@ -63,40 +63,40 @@ signal _peer_initiated(peer: TubePeer)
|
|||||||
enum State {
|
enum State {
|
||||||
## No active session. Can only create or join new session in this state.
|
## No active session. Can only create or join new session in this state.
|
||||||
IDLE,
|
IDLE,
|
||||||
|
|
||||||
## Attempting to create a session.
|
## Attempting to create a session.
|
||||||
CREATING_SESSION,
|
CREATING_SESSION,
|
||||||
|
|
||||||
## The session has been successfully created. Waiting for other player to join.
|
## The session has been successfully created. Waiting for other player to join.
|
||||||
SESSION_CREATED,
|
SESSION_CREATED,
|
||||||
|
|
||||||
## Attempting to join a session.
|
## Attempting to join a session.
|
||||||
JOINING_SESSION,
|
JOINING_SESSION,
|
||||||
|
|
||||||
## A session has been successfully joined. Connected to server.
|
## A session has been successfully joined. Connected to server.
|
||||||
SESSION_JOINED,
|
SESSION_JOINED,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
enum SessionError {
|
enum SessionError {
|
||||||
## Failed to create a session.
|
## Failed to create a session.
|
||||||
CREATE_SESSION_FAILED,
|
CREATE_SESSION_FAILED,
|
||||||
|
|
||||||
## Failed to join a session.
|
## Failed to join a session.
|
||||||
JOIN_SESSION_FAILED,
|
JOIN_SESSION_FAILED,
|
||||||
|
|
||||||
## Failed to kick a peer from the session.
|
## Failed to kick a peer from the session.
|
||||||
KICK_PEER_FAILED,
|
KICK_PEER_FAILED,
|
||||||
|
|
||||||
## Session signaling failed, only for server. Meaning new players will not be able to join the session. The session is still considerated open as communication will connected peer is still possible.
|
## Session signaling failed, only for server. Meaning new players will not be able to join the session. The session is still considerated open as communication will connected peer is still possible.
|
||||||
## [br][br]
|
## [br][br]
|
||||||
## Signaling is composed of local and online signaling.
|
## Signaling is composed of local and online signaling.
|
||||||
SIGNALING_FAILED,
|
SIGNALING_FAILED,
|
||||||
|
|
||||||
## Session online signaling failed, only for server. Meaning new players will not be able to join the via Internet session. The session is still considerated open as communication will connected peer is still possible.
|
## Session online signaling failed, only for server. Meaning new players will not be able to join the via Internet session. The session is still considerated open as communication will connected peer is still possible.
|
||||||
## [br][br]
|
## [br][br]
|
||||||
## Local signaling is not available on Web platform, meaing if online signaling failed on Web platform there is no other way for player to join the session. [signal error_raised] will be emitted once with [enum SessionError.ONLINE_SIGNALING_FAILED] and a second time with [enum SessionError.SIGNALING_FAILED].
|
## Local signaling is not available on Web platform, meaing if online signaling failed on Web platform there is no other way for player to join the session. [signal error_raised] will be emitted once with [enum SessionError.ONLINE_SIGNALING_FAILED] and a second time with [enum SessionError.SIGNALING_FAILED].
|
||||||
ONLINE_SIGNALING_FAILED,
|
ONLINE_SIGNALING_FAILED,
|
||||||
}
|
}
|
||||||
|
|
||||||
const _SERVER_PEER_ID: int = 1
|
const _SERVER_PEER_ID: int = 1
|
||||||
@ -129,7 +129,7 @@ var is_server: bool:
|
|||||||
get:
|
get:
|
||||||
return _SERVER_PEER_ID == peer_id
|
return _SERVER_PEER_ID == peer_id
|
||||||
|
|
||||||
## Instance of [MultiplayerAPI] used for High-level multiplayer
|
## Instance of [MultiplayerAPI] used for High-level multiplayer
|
||||||
var multiplayer_api := MultiplayerAPI.create_default_interface()
|
var multiplayer_api := MultiplayerAPI.create_default_interface()
|
||||||
|
|
||||||
## Instance of [MultiplayerPeer] used for managing peer connections.
|
## Instance of [MultiplayerPeer] used for managing peer connections.
|
||||||
@ -140,14 +140,14 @@ var refuse_new_connections: bool = false:
|
|||||||
get:
|
get:
|
||||||
if not is_server:
|
if not is_server:
|
||||||
return false
|
return false
|
||||||
|
|
||||||
return refuse_new_connections
|
return refuse_new_connections
|
||||||
|
|
||||||
set(x):
|
set(x):
|
||||||
if not is_server:
|
if not is_server:
|
||||||
push_error("Cannot refuse new connections, not server")
|
push_error("Cannot refuse new connections, not server")
|
||||||
return
|
return
|
||||||
|
|
||||||
refuse_new_connections = x
|
refuse_new_connections = x
|
||||||
multiplayer_peer.refuse_new_connections = x
|
multiplayer_peer.refuse_new_connections = x
|
||||||
|
|
||||||
@ -167,9 +167,9 @@ func _ready() -> void:
|
|||||||
var node_path := NodePath()
|
var node_path := NodePath()
|
||||||
if is_instance_valid(multiplayer_root_node):
|
if is_instance_valid(multiplayer_root_node):
|
||||||
node_path = multiplayer_root_node.get_path()
|
node_path = multiplayer_root_node.get_path()
|
||||||
|
|
||||||
get_tree().set_multiplayer(multiplayer_api, node_path)
|
get_tree().set_multiplayer(multiplayer_api, node_path)
|
||||||
|
|
||||||
if not multiplayer_api.peer_connected.is_connected(
|
if not multiplayer_api.peer_connected.is_connected(
|
||||||
peer_connected.emit
|
peer_connected.emit
|
||||||
):
|
):
|
||||||
@ -190,28 +190,28 @@ func create_session() -> void:
|
|||||||
_session_initiated.emit()
|
_session_initiated.emit()
|
||||||
_raise_error(SessionError.CREATE_SESSION_FAILED, "Session creation failed, client is not inside tree")
|
_raise_error(SessionError.CREATE_SESSION_FAILED, "Session creation failed, client is not inside tree")
|
||||||
return
|
return
|
||||||
|
|
||||||
if State.IDLE != state:
|
if State.IDLE != state:
|
||||||
_session_initiated.emit()
|
_session_initiated.emit()
|
||||||
_raise_error(SessionError.CREATE_SESSION_FAILED, "Session creation failed, not in idle state")
|
_raise_error(SessionError.CREATE_SESSION_FAILED, "Session creation failed, not in idle state")
|
||||||
return
|
return
|
||||||
|
|
||||||
if null == context:
|
if null == context:
|
||||||
_session_initiated.emit()
|
_session_initiated.emit()
|
||||||
_raise_error(SessionError.CREATE_SESSION_FAILED, "Session creation failed, context is missing")
|
_raise_error(SessionError.CREATE_SESSION_FAILED, "Session creation failed, context is missing")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not context.is_valid():
|
if not context.is_valid():
|
||||||
_session_initiated.emit()
|
_session_initiated.emit()
|
||||||
_raise_error(SessionError.CREATE_SESSION_FAILED, "Session creation failed, context is invalid")
|
_raise_error(SessionError.CREATE_SESSION_FAILED, "Session creation failed, context is invalid")
|
||||||
return
|
return
|
||||||
|
|
||||||
state = State.CREATING_SESSION
|
state = State.CREATING_SESSION
|
||||||
session_id = context.generate_session_id()
|
session_id = context.generate_session_id()
|
||||||
peer_id = _SERVER_PEER_ID
|
peer_id = _SERVER_PEER_ID
|
||||||
refuse_new_connections = false
|
refuse_new_connections = false
|
||||||
_session_initiated.emit()
|
_session_initiated.emit()
|
||||||
|
|
||||||
var error := multiplayer_peer.create_server()
|
var error := multiplayer_peer.create_server()
|
||||||
if error:
|
if error:
|
||||||
_terminate_session()
|
_terminate_session()
|
||||||
@ -219,13 +219,13 @@ func create_session() -> void:
|
|||||||
"error": error_string(error),
|
"error": error_string(error),
|
||||||
}))
|
}))
|
||||||
return
|
return
|
||||||
|
|
||||||
multiplayer_api.multiplayer_peer = multiplayer_peer
|
multiplayer_api.multiplayer_peer = multiplayer_peer
|
||||||
|
|
||||||
_initiate_local_signaling()
|
_initiate_local_signaling()
|
||||||
for url in context.trackers_urls:
|
for url in context.trackers_urls:
|
||||||
_initiate_tracker(url)
|
_initiate_tracker(url)
|
||||||
|
|
||||||
if _is_local_signaling() and not _is_online_signaling():
|
if _is_local_signaling() and not _is_online_signaling():
|
||||||
state = State.SESSION_CREATED
|
state = State.SESSION_CREATED
|
||||||
session_created.emit()
|
session_created.emit()
|
||||||
@ -237,34 +237,34 @@ func join_session(p_session_id: String) -> void:
|
|||||||
_session_initiated.emit()
|
_session_initiated.emit()
|
||||||
_raise_error(SessionError.JOIN_SESSION_FAILED, "Joining session failed, client is not inside tree")
|
_raise_error(SessionError.JOIN_SESSION_FAILED, "Joining session failed, client is not inside tree")
|
||||||
return
|
return
|
||||||
|
|
||||||
if State.IDLE != state:
|
if State.IDLE != state:
|
||||||
_session_initiated.emit()
|
_session_initiated.emit()
|
||||||
_raise_error(SessionError.JOIN_SESSION_FAILED, "Joining session failed, not in idle state")
|
_raise_error(SessionError.JOIN_SESSION_FAILED, "Joining session failed, not in idle state")
|
||||||
return
|
return
|
||||||
|
|
||||||
if null == context:
|
if null == context:
|
||||||
_session_initiated.emit()
|
_session_initiated.emit()
|
||||||
_raise_error(SessionError.JOIN_SESSION_FAILED, "Joining session failed, context is missing")
|
_raise_error(SessionError.JOIN_SESSION_FAILED, "Joining session failed, context is missing")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not context.is_valid():
|
if not context.is_valid():
|
||||||
_session_initiated.emit()
|
_session_initiated.emit()
|
||||||
_raise_error(SessionError.JOIN_SESSION_FAILED, "Joining session failed, context is invalid")
|
_raise_error(SessionError.JOIN_SESSION_FAILED, "Joining session failed, context is invalid")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not context.is_session_id_valid(p_session_id):
|
if not context.is_session_id_valid(p_session_id):
|
||||||
_session_initiated.emit()
|
_session_initiated.emit()
|
||||||
_raise_error(SessionError.JOIN_SESSION_FAILED, "Joining session failed, session id invalid '{id}'".format({
|
_raise_error(SessionError.JOIN_SESSION_FAILED, "Joining session failed, session id invalid '{id}'".format({
|
||||||
"id": p_session_id,
|
"id": p_session_id,
|
||||||
}))
|
}))
|
||||||
return
|
return
|
||||||
|
|
||||||
state = State.JOINING_SESSION
|
state = State.JOINING_SESSION
|
||||||
session_id = p_session_id
|
session_id = p_session_id
|
||||||
peer_id = multiplayer_peer.generate_unique_id()
|
peer_id = multiplayer_peer.generate_unique_id()
|
||||||
_session_initiated.emit()
|
_session_initiated.emit()
|
||||||
|
|
||||||
var error := multiplayer_peer.create_client(peer_id)
|
var error := multiplayer_peer.create_client(peer_id)
|
||||||
if error:
|
if error:
|
||||||
_terminate_session()
|
_terminate_session()
|
||||||
@ -272,30 +272,30 @@ func join_session(p_session_id: String) -> void:
|
|||||||
"error": error_string(error),
|
"error": error_string(error),
|
||||||
}))
|
}))
|
||||||
return
|
return
|
||||||
|
|
||||||
multiplayer_api.multiplayer_peer = multiplayer_peer
|
multiplayer_api.multiplayer_peer = multiplayer_peer
|
||||||
|
|
||||||
var peer := _initiate_peer(_SERVER_PEER_ID)
|
var peer := _initiate_peer(_SERVER_PEER_ID)
|
||||||
if not peer.valid:
|
if not peer.valid:
|
||||||
return
|
return
|
||||||
|
|
||||||
_initiate_local_signaling()
|
_initiate_local_signaling()
|
||||||
for url in context.trackers_urls:
|
for url in context.trackers_urls:
|
||||||
_initiate_tracker(url)
|
_initiate_tracker(url)
|
||||||
|
|
||||||
## Attempts to remove a peer [param p_peer_id from the session.
|
## Attempts to remove a peer [param p_peer_id from the session.
|
||||||
## Emits [signal peer_disconnected] if successful [signal error_raised] with [code]SessionError.KICK_PEER_FAILED[/code] if the operation fails.
|
## Emits [signal peer_disconnected] if successful [signal error_raised] with [code]SessionError.KICK_PEER_FAILED[/code] if the operation fails.
|
||||||
func kick_peer(p_peer_id: int) -> void:
|
func kick_peer(p_peer_id: int) -> void:
|
||||||
if not is_server:
|
if not is_server:
|
||||||
_raise_error(SessionError.KICK_PEER_FAILED, "Kick peer failed, not server")
|
_raise_error(SessionError.KICK_PEER_FAILED, "Kick peer failed, not server")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not _peers.has(p_peer_id):
|
if not _peers.has(p_peer_id):
|
||||||
_raise_error(SessionError.KICK_PEER_FAILED, "Kick peer failed, peer {peer_id}".format({
|
_raise_error(SessionError.KICK_PEER_FAILED, "Kick peer failed, peer {peer_id}".format({
|
||||||
"peer_id": p_peer_id
|
"peer_id": p_peer_id
|
||||||
}))
|
}))
|
||||||
return
|
return
|
||||||
|
|
||||||
multiplayer_peer.disconnect_peer(p_peer_id)
|
multiplayer_peer.disconnect_peer(p_peer_id)
|
||||||
|
|
||||||
|
|
||||||
@ -312,7 +312,7 @@ func _terminate_signaling():
|
|||||||
if null != _local_signaling_peer:
|
if null != _local_signaling_peer:
|
||||||
_local_signaling_peer.close()
|
_local_signaling_peer.close()
|
||||||
_local_signaling_peer = null
|
_local_signaling_peer = null
|
||||||
|
|
||||||
for i_tracker in _trackers:
|
for i_tracker in _trackers:
|
||||||
i_tracker.close(
|
i_tracker.close(
|
||||||
context.get_info_hash(session_id),
|
context.get_info_hash(session_id),
|
||||||
@ -323,20 +323,20 @@ func _terminate_signaling():
|
|||||||
func _terminate_session():
|
func _terminate_session():
|
||||||
state = State.IDLE
|
state = State.IDLE
|
||||||
_upnp.clear_port_mapping()
|
_upnp.clear_port_mapping()
|
||||||
|
|
||||||
if null != _local_signaling_peer:
|
if null != _local_signaling_peer:
|
||||||
_local_signaling_peer.close()
|
_local_signaling_peer.close()
|
||||||
_local_signaling_peer = null
|
_local_signaling_peer = null
|
||||||
|
|
||||||
for i_tracker in _trackers:
|
for i_tracker in _trackers:
|
||||||
i_tracker.close(
|
i_tracker.close(
|
||||||
context.get_info_hash(session_id),
|
context.get_info_hash(session_id),
|
||||||
context.get_peer_id_hash(peer_id)
|
context.get_peer_id_hash(peer_id)
|
||||||
)
|
)
|
||||||
|
|
||||||
for i_peer: TubePeer in _peers.values():
|
for i_peer: TubePeer in _peers.values():
|
||||||
i_peer.close() # will be clean collected
|
i_peer.close() # will be clean collected
|
||||||
|
|
||||||
session_id = ""
|
session_id = ""
|
||||||
multiplayer_peer.close()
|
multiplayer_peer.close()
|
||||||
|
|
||||||
@ -344,7 +344,7 @@ func _terminate_session():
|
|||||||
func _is_local_signaling() -> bool:
|
func _is_local_signaling() -> bool:
|
||||||
if null == _local_signaling_peer:
|
if null == _local_signaling_peer:
|
||||||
return false
|
return false
|
||||||
|
|
||||||
return _local_signaling_peer.is_bound()
|
return _local_signaling_peer.is_bound()
|
||||||
|
|
||||||
|
|
||||||
@ -355,7 +355,7 @@ func _is_online_signaling() -> bool:
|
|||||||
func _initiate_local_signaling() -> void:
|
func _initiate_local_signaling() -> void:
|
||||||
if not TubeLocalSignalingPeer.is_local_signaling_available():
|
if not TubeLocalSignalingPeer.is_local_signaling_available():
|
||||||
return
|
return
|
||||||
|
|
||||||
_local_signaling_peer = TubeLocalSignalingPeer.new()
|
_local_signaling_peer = TubeLocalSignalingPeer.new()
|
||||||
var error := _local_signaling_peer.bind(
|
var error := _local_signaling_peer.bind(
|
||||||
context.app_id,
|
context.app_id,
|
||||||
@ -365,11 +365,11 @@ func _initiate_local_signaling() -> void:
|
|||||||
_local_signaling_peer_initiated.emit(
|
_local_signaling_peer_initiated.emit(
|
||||||
_local_signaling_peer
|
_local_signaling_peer
|
||||||
)
|
)
|
||||||
|
|
||||||
if error:
|
if error:
|
||||||
_local_signaling_peer = null
|
_local_signaling_peer = null
|
||||||
return
|
return
|
||||||
|
|
||||||
_local_signaling_peer.received_signaling_data.connect(
|
_local_signaling_peer.received_signaling_data.connect(
|
||||||
_handle_local_signaling_data
|
_handle_local_signaling_data
|
||||||
)
|
)
|
||||||
@ -379,10 +379,10 @@ func _initiate_tracker(p_url: String) -> void:
|
|||||||
var tracker := TubeTracker.new()
|
var tracker := TubeTracker.new()
|
||||||
var error := tracker.connect_to_url(p_url)
|
var error := tracker.connect_to_url(p_url)
|
||||||
_tracker_initiated.emit(tracker)
|
_tracker_initiated.emit(tracker)
|
||||||
|
|
||||||
if error:
|
if error:
|
||||||
return
|
return
|
||||||
|
|
||||||
_trackers.append(tracker)
|
_trackers.append(tracker)
|
||||||
tracker.connected.connect(
|
tracker.connected.connect(
|
||||||
_on_tracker_connected.bind(tracker)
|
_on_tracker_connected.bind(tracker)
|
||||||
@ -395,22 +395,22 @@ func _initiate_tracker(p_url: String) -> void:
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
func _on_tracker_connected(p_tracker: TubeTracker):
|
func _on_tracker_connected(p_tracker: TubeTracker):
|
||||||
p_tracker.send_announce(
|
p_tracker.send_announce(
|
||||||
context.get_info_hash(session_id),
|
context.get_info_hash(session_id),
|
||||||
context.get_peer_id_hash(peer_id),
|
context.get_peer_id_hash(peer_id),
|
||||||
)
|
)
|
||||||
|
|
||||||
if State.CREATING_SESSION == state:
|
if State.CREATING_SESSION == state:
|
||||||
state = State.SESSION_CREATED
|
state = State.SESSION_CREATED
|
||||||
session_created.emit()
|
session_created.emit()
|
||||||
|
|
||||||
if is_server:
|
if is_server:
|
||||||
return
|
return
|
||||||
|
|
||||||
if not _peers.has(_SERVER_PEER_ID):
|
if not _peers.has(_SERVER_PEER_ID):
|
||||||
return
|
return
|
||||||
|
|
||||||
var server_peer := _peers[_SERVER_PEER_ID]
|
var server_peer := _peers[_SERVER_PEER_ID]
|
||||||
if server_peer.is_signaling_ready():
|
if server_peer.is_signaling_ready():
|
||||||
_send_signaling_data(server_peer, p_tracker)
|
_send_signaling_data(server_peer, p_tracker)
|
||||||
@ -424,26 +424,26 @@ func _all_trackers_disconnected(): # is_online_signaling false
|
|||||||
"Online signaling failed, cannot connect to any tracker"
|
"Online signaling failed, cannot connect to any tracker"
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
_raise_error(
|
_raise_error(
|
||||||
SessionError.CREATE_SESSION_FAILED,
|
SessionError.CREATE_SESSION_FAILED,
|
||||||
"Session creation failed, cannot connect to any tracker"
|
"Session creation failed, cannot connect to any tracker"
|
||||||
)
|
)
|
||||||
_terminate_session()
|
_terminate_session()
|
||||||
|
|
||||||
elif State.SESSION_CREATED == state:
|
elif State.SESSION_CREATED == state:
|
||||||
_raise_error(
|
_raise_error(
|
||||||
SessionError.ONLINE_SIGNALING_FAILED,
|
SessionError.ONLINE_SIGNALING_FAILED,
|
||||||
"Signaling failed, lost all trackers connections"
|
"Signaling failed, lost all trackers connections"
|
||||||
)
|
)
|
||||||
|
|
||||||
if not _is_local_signaling():
|
if not _is_local_signaling():
|
||||||
_raise_error(
|
_raise_error(
|
||||||
SessionError.ONLINE_SIGNALING_FAILED,
|
SessionError.ONLINE_SIGNALING_FAILED,
|
||||||
"Signaling failed, lost all trackers connections"
|
"Signaling failed, lost all trackers connections"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
elif State.JOINING_SESSION == state:
|
elif State.JOINING_SESSION == state:
|
||||||
if _peers.has(_SERVER_PEER_ID):
|
if _peers.has(_SERVER_PEER_ID):
|
||||||
var peer = _peers[_SERVER_PEER_ID]
|
var peer = _peers[_SERVER_PEER_ID]
|
||||||
@ -460,55 +460,55 @@ func _handle_local_signaling_data(p_data: Dictionary, p_address: String):
|
|||||||
if from_app_id != context.app_id:
|
if from_app_id != context.app_id:
|
||||||
_local_signaling_peer.raise_warning("Received signaling data from other app ID")
|
_local_signaling_peer.raise_warning("Received signaling data from other app ID")
|
||||||
return
|
return
|
||||||
|
|
||||||
var from_session_id := TubeLocalSignalingPeer.get_session_id_from_signaling_data(p_data)
|
var from_session_id := TubeLocalSignalingPeer.get_session_id_from_signaling_data(p_data)
|
||||||
if from_session_id != session_id:
|
if from_session_id != session_id:
|
||||||
_local_signaling_peer.raise_warning("Received signaling data from other session ID")
|
_local_signaling_peer.raise_warning("Received signaling data from other session ID")
|
||||||
return
|
return
|
||||||
|
|
||||||
var from_peer_id := TubeLocalSignalingPeer.get_peer_id_from_signaling_data(p_data)
|
var from_peer_id := TubeLocalSignalingPeer.get_peer_id_from_signaling_data(p_data)
|
||||||
if is_server and from_peer_id == _SERVER_PEER_ID:
|
if is_server and from_peer_id == _SERVER_PEER_ID:
|
||||||
_local_signaling_peer.raise_warning("Received signaling data from peer id 1 as server")
|
_local_signaling_peer.raise_warning("Received signaling data from peer id 1 as server")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not is_server and from_peer_id != _SERVER_PEER_ID:
|
if not is_server and from_peer_id != _SERVER_PEER_ID:
|
||||||
_local_signaling_peer.raise_warning("Received signaling data from peer {peer_id}, but not as server".format({
|
_local_signaling_peer.raise_warning("Received signaling data from peer {peer_id}, but not as server".format({
|
||||||
"peer_id": from_peer_id
|
"peer_id": from_peer_id
|
||||||
}))
|
}))
|
||||||
return
|
return
|
||||||
|
|
||||||
if refuse_new_connections:
|
if refuse_new_connections:
|
||||||
peer_refused.emit(from_peer_id)
|
peer_refused.emit(from_peer_id)
|
||||||
return
|
return
|
||||||
|
|
||||||
var peer: TubePeer = _peers.get(from_peer_id)
|
var peer: TubePeer = _peers.get(from_peer_id)
|
||||||
if null == peer:
|
if null == peer:
|
||||||
peer = _initiate_peer(from_peer_id)
|
peer = _initiate_peer(from_peer_id)
|
||||||
if not peer.valid:
|
if not peer.valid:
|
||||||
return
|
return
|
||||||
|
|
||||||
peer.local_address = p_address
|
peer.local_address = p_address
|
||||||
|
|
||||||
if WebRTCPeerConnection.ConnectionState.STATE_CONNECTED == peer.get_connection_state():
|
if WebRTCPeerConnection.ConnectionState.STATE_CONNECTED == peer.get_connection_state():
|
||||||
peer.raise_warning(
|
peer.raise_warning(
|
||||||
"Receive signaling data but already connected"
|
"Receive signaling data but already connected"
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
if peer.remote_session_description.is_empty():
|
if peer.remote_session_description.is_empty():
|
||||||
var type := TubeLocalSignalingPeer.get_type_from_signaling_data(p_data)
|
var type := TubeLocalSignalingPeer.get_type_from_signaling_data(p_data)
|
||||||
var sdp := TubeLocalSignalingPeer.get_sdp_from_signaling_data(p_data)
|
var sdp := TubeLocalSignalingPeer.get_sdp_from_signaling_data(p_data)
|
||||||
if peer.set_remote_description(type, sdp): # error
|
if peer.set_remote_description(type, sdp): # error
|
||||||
return
|
return
|
||||||
|
|
||||||
for candidate_data in TubeLocalSignalingPeer.get_ice_candidates_from_signaling_data(p_data):
|
for candidate_data in TubeLocalSignalingPeer.get_ice_candidates_from_signaling_data(p_data):
|
||||||
|
|
||||||
if not TubeLocalSignalingPeer.is_ice_candidate_data_valid(candidate_data):
|
if not TubeLocalSignalingPeer.is_ice_candidate_data_valid(candidate_data):
|
||||||
peer.raise_warning(
|
peer.raise_warning(
|
||||||
"Cannot add ice candidate, ice data invalid"
|
"Cannot add ice candidate, ice data invalid"
|
||||||
)
|
)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
peer.add_ice_candidate(
|
peer.add_ice_candidate(
|
||||||
TubeLocalSignalingPeer.get_media_from_ice_candidate_data(
|
TubeLocalSignalingPeer.get_media_from_ice_candidate_data(
|
||||||
candidate_data
|
candidate_data
|
||||||
@ -527,39 +527,39 @@ func _handle_tracker_answer(data: Dictionary, p_tracker: TubeTracker):
|
|||||||
if not context.is_peer_id_hash_valid(from_peer_id_hash):
|
if not context.is_peer_id_hash_valid(from_peer_id_hash):
|
||||||
p_tracker.raise_warning("answer peer id invalid")
|
p_tracker.raise_warning("answer peer id invalid")
|
||||||
return
|
return
|
||||||
|
|
||||||
var from_peer_id := context.get_peer_id(from_peer_id_hash)
|
var from_peer_id := context.get_peer_id(from_peer_id_hash)
|
||||||
if refuse_new_connections:
|
if refuse_new_connections:
|
||||||
peer_refused.emit(from_peer_id)
|
peer_refused.emit(from_peer_id)
|
||||||
return
|
return
|
||||||
|
|
||||||
var peer: TubePeer = _peers.get(from_peer_id)
|
var peer: TubePeer = _peers.get(from_peer_id)
|
||||||
if null == peer:
|
if null == peer:
|
||||||
peer = _initiate_peer(from_peer_id)
|
peer = _initiate_peer(from_peer_id)
|
||||||
if not peer.valid:
|
if not peer.valid:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
if WebRTCPeerConnection.ConnectionState.STATE_CONNECTED == peer.get_connection_state():
|
if WebRTCPeerConnection.ConnectionState.STATE_CONNECTED == peer.get_connection_state():
|
||||||
peer.raise_warning(
|
peer.raise_warning(
|
||||||
"Receive signaling data but already connected"
|
"Receive signaling data but already connected"
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
if peer.remote_session_description.is_empty():
|
if peer.remote_session_description.is_empty():
|
||||||
var type := TubeTracker.get_type_from_answer_data(data)
|
var type := TubeTracker.get_type_from_answer_data(data)
|
||||||
var sdp := TubeTracker.get_sdp_from_answer_data(data)
|
var sdp := TubeTracker.get_sdp_from_answer_data(data)
|
||||||
if peer.set_remote_description(type, sdp): # error
|
if peer.set_remote_description(type, sdp): # error
|
||||||
return
|
return
|
||||||
|
|
||||||
for candidate_data in TubeTracker.get_ice_candidates_from_answer_data(data):
|
for candidate_data in TubeTracker.get_ice_candidates_from_answer_data(data):
|
||||||
|
|
||||||
if not TubeTracker.is_ice_candidate_data_valid(candidate_data):
|
if not TubeTracker.is_ice_candidate_data_valid(candidate_data):
|
||||||
peer.raise_warning(
|
peer.raise_warning(
|
||||||
"Cannot add ice candidate, ice data invalid"
|
"Cannot add ice candidate, ice data invalid"
|
||||||
)
|
)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
peer.add_ice_candidate(
|
peer.add_ice_candidate(
|
||||||
TubeTracker.get_media_from_ice_candidate_data(
|
TubeTracker.get_media_from_ice_candidate_data(
|
||||||
candidate_data
|
candidate_data
|
||||||
@ -581,7 +581,7 @@ func _on_tracker_interval_timeout(p_tracker: TubeTracker):
|
|||||||
|
|
||||||
|
|
||||||
func _send_signaling_data(p_peer: TubePeer, p_tracker: TubeTracker = null):
|
func _send_signaling_data(p_peer: TubePeer, p_tracker: TubeTracker = null):
|
||||||
|
|
||||||
if _local_signaling_peer:
|
if _local_signaling_peer:
|
||||||
if is_server:
|
if is_server:
|
||||||
_local_signaling_peer.send_signaling_data(
|
_local_signaling_peer.send_signaling_data(
|
||||||
@ -602,19 +602,19 @@ func _send_signaling_data(p_peer: TubePeer, p_tracker: TubeTracker = null):
|
|||||||
p_peer.local_session_description,
|
p_peer.local_session_description,
|
||||||
p_peer.ice_candidates,
|
p_peer.ice_candidates,
|
||||||
)
|
)
|
||||||
|
|
||||||
var info_hash := context.get_info_hash(session_id)
|
var info_hash := context.get_info_hash(session_id)
|
||||||
var peer_id_hash := context.get_peer_id_hash(peer_id)
|
var peer_id_hash := context.get_peer_id_hash(peer_id)
|
||||||
var to_peer_id_hash := context.get_peer_id_hash(p_peer.id)
|
var to_peer_id_hash := context.get_peer_id_hash(p_peer.id)
|
||||||
|
|
||||||
var to_trackers = _trackers
|
var to_trackers = _trackers
|
||||||
if p_tracker:
|
if p_tracker:
|
||||||
to_trackers = [p_tracker]
|
to_trackers = [p_tracker]
|
||||||
|
|
||||||
for i_tracker in to_trackers:
|
for i_tracker in to_trackers:
|
||||||
if not i_tracker.is_open():
|
if not i_tracker.is_open():
|
||||||
continue
|
continue
|
||||||
|
|
||||||
i_tracker.send_answer(
|
i_tracker.send_answer(
|
||||||
info_hash,
|
info_hash,
|
||||||
peer_id_hash,
|
peer_id_hash,
|
||||||
@ -633,11 +633,11 @@ func _initiate_peer(p_peer_id: int) -> TubePeer:
|
|||||||
var error := peer.initialize(
|
var error := peer.initialize(
|
||||||
context.get_ice_servers()
|
context.get_ice_servers()
|
||||||
)
|
)
|
||||||
|
|
||||||
if error: # error raised with peer.failed
|
if error: # error raised with peer.failed
|
||||||
return peer
|
return peer
|
||||||
|
|
||||||
|
|
||||||
peer.signaling_readied.connect(
|
peer.signaling_readied.connect(
|
||||||
_on_peer_signaling_readied.bind(peer)
|
_on_peer_signaling_readied.bind(peer)
|
||||||
)
|
)
|
||||||
@ -659,7 +659,7 @@ func _initiate_peer(p_peer_id: int) -> TubePeer:
|
|||||||
peer.port_mapped.connect(
|
peer.port_mapped.connect(
|
||||||
_upnp.add_port_mapping
|
_upnp.add_port_mapping
|
||||||
)
|
)
|
||||||
|
|
||||||
_peers[p_peer_id] = peer
|
_peers[p_peer_id] = peer
|
||||||
_peer_initiated.emit(peer)
|
_peer_initiated.emit(peer)
|
||||||
error = multiplayer_peer.add_peer(peer, p_peer_id)
|
error = multiplayer_peer.add_peer(peer, p_peer_id)
|
||||||
@ -669,22 +669,22 @@ func _initiate_peer(p_peer_id: int) -> TubePeer:
|
|||||||
"error": error_string(error)
|
"error": error_string(error)
|
||||||
})
|
})
|
||||||
peer.failed.emit()
|
peer.failed.emit()
|
||||||
|
|
||||||
if not is_server:
|
if not is_server:
|
||||||
error = peer.create_offer()
|
error = peer.create_offer()
|
||||||
if error: # error raised with peer.failed
|
if error: # error raised with peer.failed
|
||||||
return peer
|
return peer
|
||||||
|
|
||||||
return peer
|
return peer
|
||||||
|
|
||||||
|
|
||||||
func _clean_peer(p_peer: TubePeer):
|
func _clean_peer(p_peer: TubePeer):
|
||||||
if multiplayer_peer.has_peer(p_peer.id):
|
if multiplayer_peer.has_peer(p_peer.id):
|
||||||
multiplayer_peer.remove_peer(p_peer.id)
|
multiplayer_peer.remove_peer(p_peer.id)
|
||||||
|
|
||||||
for port in p_peer.mapped_ports:
|
for port in p_peer.mapped_ports:
|
||||||
_upnp.delete_port_mapping(port)
|
_upnp.delete_port_mapping(port)
|
||||||
|
|
||||||
#if _peers.has(p_peer.id): # garbage collected
|
#if _peers.has(p_peer.id): # garbage collected
|
||||||
#_peers.erase(p_peer.id)
|
#_peers.erase(p_peer.id)
|
||||||
p_peer.has_joined_session = false
|
p_peer.has_joined_session = false
|
||||||
@ -706,12 +706,12 @@ func _on_peer_connected(p_peer: TubePeer):
|
|||||||
if State.IDLE == state:
|
if State.IDLE == state:
|
||||||
_clean_peer(p_peer)
|
_clean_peer(p_peer)
|
||||||
return
|
return
|
||||||
|
|
||||||
if State.JOINING_SESSION == state:
|
if State.JOINING_SESSION == state:
|
||||||
state = State.SESSION_JOINED
|
state = State.SESSION_JOINED
|
||||||
_terminate_signaling()
|
_terminate_signaling()
|
||||||
session_joined.emit()
|
session_joined.emit()
|
||||||
|
|
||||||
if p_peer.has_joined_session:
|
if p_peer.has_joined_session:
|
||||||
peer_stabilized.emit(p_peer.id)
|
peer_stabilized.emit(p_peer.id)
|
||||||
p_peer.has_joined_session = true
|
p_peer.has_joined_session = true
|
||||||
@ -722,7 +722,7 @@ func _on_peer_disconnected(p_peer: TubePeer): # temporary disconnection
|
|||||||
if State.IDLE == state:
|
if State.IDLE == state:
|
||||||
_clean_peer(p_peer)
|
_clean_peer(p_peer)
|
||||||
return
|
return
|
||||||
|
|
||||||
peer_unstabilized.emit(p_peer.id)
|
peer_unstabilized.emit(p_peer.id)
|
||||||
|
|
||||||
|
|
||||||
@ -730,7 +730,7 @@ func _on_peer_failed(p_peer: TubePeer):
|
|||||||
_clean_peer(p_peer)
|
_clean_peer(p_peer)
|
||||||
if State.IDLE == state:
|
if State.IDLE == state:
|
||||||
return
|
return
|
||||||
|
|
||||||
if not is_server:
|
if not is_server:
|
||||||
if State.JOINING_SESSION == state:
|
if State.JOINING_SESSION == state:
|
||||||
_raise_error(
|
_raise_error(
|
||||||
@ -740,10 +740,10 @@ func _on_peer_failed(p_peer: TubePeer):
|
|||||||
"error": p_peer.error_message
|
"error": p_peer.error_message
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
elif State.SESSION_JOINED == state:
|
elif State.SESSION_JOINED == state:
|
||||||
session_left.emit()
|
session_left.emit()
|
||||||
|
|
||||||
_terminate_session()
|
_terminate_session()
|
||||||
|
|
||||||
|
|
||||||
@ -751,24 +751,24 @@ func _on_peer_closed(p_peer: TubePeer):
|
|||||||
_clean_peer(p_peer)
|
_clean_peer(p_peer)
|
||||||
if State.IDLE == state:
|
if State.IDLE == state:
|
||||||
return
|
return
|
||||||
|
|
||||||
if not is_server:
|
if not is_server:
|
||||||
if State.SESSION_JOINED == state:
|
if State.SESSION_JOINED == state:
|
||||||
session_left.emit()
|
session_left.emit()
|
||||||
|
|
||||||
_terminate_session()
|
_terminate_session()
|
||||||
|
|
||||||
|
|
||||||
# PROCESS ###
|
# PROCESS ###
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
|
|
||||||
if _upnp:
|
if _upnp:
|
||||||
_upnp._process(delta)
|
_upnp._process(delta)
|
||||||
|
|
||||||
if _local_signaling_peer:
|
if _local_signaling_peer:
|
||||||
_local_signaling_peer._process(delta)
|
_local_signaling_peer._process(delta)
|
||||||
|
|
||||||
var tracker_closed := false
|
var tracker_closed := false
|
||||||
var updated_trackers: Array[TubeTracker] = []
|
var updated_trackers: Array[TubeTracker] = []
|
||||||
for i_tracker in _trackers:
|
for i_tracker in _trackers:
|
||||||
@ -776,14 +776,14 @@ func _process(delta):
|
|||||||
if i_tracker.is_close():
|
if i_tracker.is_close():
|
||||||
tracker_closed = true
|
tracker_closed = true
|
||||||
continue
|
continue
|
||||||
|
|
||||||
updated_trackers.append(i_tracker)
|
updated_trackers.append(i_tracker)
|
||||||
|
|
||||||
_trackers = updated_trackers
|
_trackers = updated_trackers
|
||||||
if tracker_closed and not _is_online_signaling():
|
if tracker_closed and not _is_online_signaling():
|
||||||
_all_trackers_disconnected()
|
_all_trackers_disconnected()
|
||||||
|
|
||||||
|
|
||||||
var updated_peers: Dictionary[int, TubePeer] = {}
|
var updated_peers: Dictionary[int, TubePeer] = {}
|
||||||
for i_peer_id in _peers:
|
for i_peer_id in _peers:
|
||||||
var i_peer := _peers[i_peer_id]
|
var i_peer := _peers[i_peer_id]
|
||||||
@ -791,7 +791,7 @@ func _process(delta):
|
|||||||
if WebRTCPeerConnection.STATE_CLOSED == i_peer.connection_state: # don't use is_close to use connection_state
|
if WebRTCPeerConnection.STATE_CLOSED == i_peer.connection_state: # don't use is_close to use connection_state
|
||||||
_clean_peer(i_peer)
|
_clean_peer(i_peer)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
updated_peers[i_peer_id] = i_peer
|
updated_peers[i_peer_id] = i_peer
|
||||||
|
|
||||||
_peers = updated_peers
|
_peers = updated_peers
|
||||||
|
|||||||
@ -36,7 +36,7 @@ var interval_time_left: float = -1.0
|
|||||||
|
|
||||||
func _to_string() -> String:
|
func _to_string() -> String:
|
||||||
var string := socket.get_requested_url()
|
var string := socket.get_requested_url()
|
||||||
|
|
||||||
if "Web" != OS.get_name():
|
if "Web" != OS.get_name():
|
||||||
if WebSocketPeer.STATE_OPEN == socket.get_ready_state():
|
if WebSocketPeer.STATE_OPEN == socket.get_ready_state():
|
||||||
string += "({protocol}://{address}:{port})".format({
|
string += "({protocol}://{address}:{port})".format({
|
||||||
@ -44,7 +44,7 @@ func _to_string() -> String:
|
|||||||
"address": socket.get_connected_host(),
|
"address": socket.get_connected_host(),
|
||||||
"port": socket.get_connected_port(),
|
"port": socket.get_connected_port(),
|
||||||
})
|
})
|
||||||
|
|
||||||
return string
|
return string
|
||||||
|
|
||||||
|
|
||||||
@ -57,10 +57,10 @@ func connect_to_url(p_url: String) -> Error:
|
|||||||
var error := socket.connect_to_url(p_url)
|
var error := socket.connect_to_url(p_url)
|
||||||
if error:
|
if error:
|
||||||
error_message = "connection failed: {error}".format({
|
error_message = "connection failed: {error}".format({
|
||||||
"error": error_string(error)
|
"error": error_string(error)
|
||||||
})
|
})
|
||||||
failed.emit()
|
failed.emit()
|
||||||
|
|
||||||
return error
|
return error
|
||||||
|
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ func close(p_info_hash: String, p_peer_id_hash: String):
|
|||||||
p_info_hash,
|
p_info_hash,
|
||||||
p_peer_id_hash
|
p_peer_id_hash
|
||||||
)
|
)
|
||||||
|
|
||||||
if not is_close():
|
if not is_close():
|
||||||
socket.close(
|
socket.close(
|
||||||
CLOSE_CODE_CLIENT,
|
CLOSE_CODE_CLIENT,
|
||||||
@ -92,19 +92,19 @@ func _socket_connection_opened():
|
|||||||
|
|
||||||
func _socket_connection_closed(p_code: int, p_reason: String):
|
func _socket_connection_closed(p_code: int, p_reason: String):
|
||||||
#if -1 == p_code: # error
|
#if -1 == p_code: # error
|
||||||
|
|
||||||
if WebSocketPeer.State.STATE_CONNECTING == state:
|
if WebSocketPeer.State.STATE_CONNECTING == state:
|
||||||
error_message = "connection impossible"
|
error_message = "connection impossible"
|
||||||
|
|
||||||
p_reason = p_reason if p_reason else "Closed unexpectedly, code: {code}".format({
|
p_reason = p_reason if p_reason else "Closed unexpectedly, code: {code}".format({
|
||||||
"code": p_code,
|
"code": p_code,
|
||||||
})
|
})
|
||||||
|
|
||||||
if WebSocketPeer.State.STATE_OPEN == state:
|
if WebSocketPeer.State.STATE_OPEN == state:
|
||||||
error_message = "connection failed: {reason}".format({
|
error_message = "connection failed: {reason}".format({
|
||||||
"reason": p_reason,
|
"reason": p_reason,
|
||||||
})
|
})
|
||||||
|
|
||||||
disconnected.emit()
|
disconnected.emit()
|
||||||
|
|
||||||
|
|
||||||
@ -126,16 +126,16 @@ func send_data(p_data: Dictionary) -> Error:
|
|||||||
var error := socket.send_text(
|
var error := socket.send_text(
|
||||||
text
|
text
|
||||||
)
|
)
|
||||||
|
|
||||||
if error:
|
if error:
|
||||||
raise_warning(
|
raise_warning(
|
||||||
"Cannot send text: {error}".format({
|
"Cannot send text: {error}".format({
|
||||||
"error": error_string(error)
|
"error": error_string(error)
|
||||||
}))
|
}))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
data_sent.emit(p_data)
|
data_sent.emit(p_data)
|
||||||
|
|
||||||
return error
|
return error
|
||||||
|
|
||||||
|
|
||||||
@ -144,7 +144,7 @@ func send_announce(p_info_hash: String, p_peer_id_hash: String) -> Error:
|
|||||||
"action": "announce",
|
"action": "announce",
|
||||||
"info_hash": p_info_hash,
|
"info_hash": p_info_hash,
|
||||||
"peer_id": p_peer_id_hash,
|
"peer_id": p_peer_id_hash,
|
||||||
|
|
||||||
"uploaded": 0,
|
"uploaded": 0,
|
||||||
"downloaded": 0,
|
"downloaded": 0,
|
||||||
})
|
})
|
||||||
@ -161,7 +161,7 @@ func send_answer(
|
|||||||
"action": "announce",
|
"action": "announce",
|
||||||
"info_hash": p_info_hash,
|
"info_hash": p_info_hash,
|
||||||
"peer_id": p_peer_id_hash,
|
"peer_id": p_peer_id_hash,
|
||||||
|
|
||||||
"to_peer_id": p_to_peer_id_hash,
|
"to_peer_id": p_to_peer_id_hash,
|
||||||
"answer": {
|
"answer": {
|
||||||
"type": description.type,
|
"type": description.type,
|
||||||
@ -188,12 +188,12 @@ func _received_packet(p_packet: PackedByteArray):
|
|||||||
"packet": str(p_packet)
|
"packet": str(p_packet)
|
||||||
}))
|
}))
|
||||||
return
|
return
|
||||||
|
|
||||||
received_data.emit(data)
|
received_data.emit(data)
|
||||||
if data.has("answer"):
|
if data.has("answer"):
|
||||||
_handle_answer(data)
|
_handle_answer(data)
|
||||||
return
|
return
|
||||||
|
|
||||||
_handle_announce(data)
|
_handle_announce(data)
|
||||||
|
|
||||||
|
|
||||||
@ -201,11 +201,11 @@ func _handle_announce(p_data: Dictionary):
|
|||||||
if not p_data.has("interval"):
|
if not p_data.has("interval"):
|
||||||
raise_warning("announce data has no interval")
|
raise_warning("announce data has no interval")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not p_data.interval is float:
|
if not p_data.interval is float:
|
||||||
raise_warning("interval invalid data type")
|
raise_warning("interval invalid data type")
|
||||||
return
|
return
|
||||||
|
|
||||||
interval_time = min(p_data.interval, MAX_INTERVAL)
|
interval_time = min(p_data.interval, MAX_INTERVAL)
|
||||||
interval_time_left = interval_time
|
interval_time_left = interval_time
|
||||||
|
|
||||||
@ -214,47 +214,47 @@ func _handle_answer(p_data: Dictionary):
|
|||||||
if not p_data is Dictionary:
|
if not p_data is Dictionary:
|
||||||
raise_warning("answer data invalid data type")
|
raise_warning("answer data invalid data type")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not p_data.has("peer_id"):
|
if not p_data.has("peer_id"):
|
||||||
raise_warning("answer data has no peer_id")
|
raise_warning("answer data has no peer_id")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not p_data.peer_id is String:
|
if not p_data.peer_id is String:
|
||||||
raise_warning("peer_id invalid data type")
|
raise_warning("peer_id invalid data type")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not p_data.has("answer"):
|
if not p_data.has("answer"):
|
||||||
raise_warning("answer data has no answer")
|
raise_warning("answer data has no answer")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not p_data.answer is Dictionary:
|
if not p_data.answer is Dictionary:
|
||||||
raise_warning("answer invalid data type")
|
raise_warning("answer invalid data type")
|
||||||
return
|
return
|
||||||
|
|
||||||
var answer: Dictionary = p_data.answer
|
var answer: Dictionary = p_data.answer
|
||||||
if not answer.has("sdp"):
|
if not answer.has("sdp"):
|
||||||
raise_warning("answer data has no sdp")
|
raise_warning("answer data has no sdp")
|
||||||
|
|
||||||
if not answer.sdp is String:
|
if not answer.sdp is String:
|
||||||
raise_warning("sdp invalid data type")
|
raise_warning("sdp invalid data type")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not answer.has("type"):
|
if not answer.has("type"):
|
||||||
raise_warning("answer data has no type")
|
raise_warning("answer data has no type")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not answer.type is String:
|
if not answer.type is String:
|
||||||
raise_warning("type invalid data type")
|
raise_warning("type invalid data type")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not answer.has("ice_candidates"):
|
if not answer.has("ice_candidates"):
|
||||||
raise_warning("answer data has no ice_candidates")
|
raise_warning("answer data has no ice_candidates")
|
||||||
return
|
return
|
||||||
|
|
||||||
if not answer.ice_candidates is Array:
|
if not answer.ice_candidates is Array:
|
||||||
raise_warning("ice_candidates invalid data type")
|
raise_warning("ice_candidates invalid data type")
|
||||||
return
|
return
|
||||||
|
|
||||||
received_answer.emit(p_data)
|
received_answer.emit(p_data)
|
||||||
|
|
||||||
|
|
||||||
@ -278,31 +278,31 @@ static func is_ice_candidate_data_valid(p_data: Variant) -> bool:
|
|||||||
if not p_data is Dictionary:
|
if not p_data is Dictionary:
|
||||||
push_error("Ice candidate data invalid data type")
|
push_error("Ice candidate data invalid data type")
|
||||||
return false
|
return false
|
||||||
|
|
||||||
if not p_data.has("media"):
|
if not p_data.has("media"):
|
||||||
push_error("Ice candidate data has no media")
|
push_error("Ice candidate data has no media")
|
||||||
return false
|
return false
|
||||||
|
|
||||||
if not p_data.media is String:
|
if not p_data.media is String:
|
||||||
push_error("media invalid data type")
|
push_error("media invalid data type")
|
||||||
return false
|
return false
|
||||||
|
|
||||||
if not p_data.has("index"):
|
if not p_data.has("index"):
|
||||||
push_error("Ice candidate has no index")
|
push_error("Ice candidate has no index")
|
||||||
return false
|
return false
|
||||||
|
|
||||||
if not (typeof(p_data.index) in [TYPE_INT, TYPE_FLOAT]):
|
if not (typeof(p_data.index) in [TYPE_INT, TYPE_FLOAT]):
|
||||||
push_error("index invalid data type")
|
push_error("index invalid data type")
|
||||||
return false
|
return false
|
||||||
|
|
||||||
if not p_data.has("sdp"):
|
if not p_data.has("sdp"):
|
||||||
push_error("Ice candidate has no sdp")
|
push_error("Ice candidate has no sdp")
|
||||||
return false
|
return false
|
||||||
|
|
||||||
if not p_data.sdp is String:
|
if not p_data.sdp is String:
|
||||||
push_error("Ice candidate sdp invalid data type")
|
push_error("Ice candidate sdp invalid data type")
|
||||||
return false
|
return false
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
|
||||||
|
|
||||||
@ -320,42 +320,42 @@ static func get_sdp_from_ice_candidate_data(p_data: Dictionary) -> String:
|
|||||||
|
|
||||||
func _process(delta: float):
|
func _process(delta: float):
|
||||||
socket.poll() # push error when 502 bad gateway, doesn't block anything
|
socket.poll() # push error when 502 bad gateway, doesn't block anything
|
||||||
|
|
||||||
var old_state := state
|
var old_state := state
|
||||||
state = socket.get_ready_state()
|
state = socket.get_ready_state()
|
||||||
if state != old_state:
|
if state != old_state:
|
||||||
state_changed.emit()
|
state_changed.emit()
|
||||||
|
|
||||||
|
|
||||||
if WebSocketPeer.STATE_CONNECTING == state:
|
if WebSocketPeer.STATE_CONNECTING == state:
|
||||||
connecting_time += delta
|
connecting_time += delta
|
||||||
|
|
||||||
if WebSocketPeer.STATE_OPEN == state:
|
if WebSocketPeer.STATE_OPEN == state:
|
||||||
if WebSocketPeer.STATE_OPEN != old_state:
|
if WebSocketPeer.STATE_OPEN != old_state:
|
||||||
_socket_connection_opened()
|
_socket_connection_opened()
|
||||||
|
|
||||||
while socket.get_available_packet_count():
|
while socket.get_available_packet_count():
|
||||||
var packet := socket.get_packet()
|
var packet := socket.get_packet()
|
||||||
_received_packet(packet)
|
_received_packet(packet)
|
||||||
|
|
||||||
up_time += delta
|
up_time += delta
|
||||||
|
|
||||||
if 0.0 < interval_time:
|
if 0.0 < interval_time:
|
||||||
interval_time_left -= delta
|
interval_time_left -= delta
|
||||||
if interval_time_left < 0.0:
|
if interval_time_left < 0.0:
|
||||||
interval_time_left = interval_time
|
interval_time_left = interval_time
|
||||||
interval_timeout.emit()
|
interval_timeout.emit()
|
||||||
|
|
||||||
|
|
||||||
elif WebSocketPeer.STATE_CLOSING == state:
|
elif WebSocketPeer.STATE_CLOSING == state:
|
||||||
# Keep polling to achieve proper close.
|
# Keep polling to achieve proper close.
|
||||||
pass
|
pass
|
||||||
|
|
||||||
elif WebSocketPeer.STATE_CLOSED == state:
|
elif WebSocketPeer.STATE_CLOSED == state:
|
||||||
var code = socket.get_close_code()
|
var code = socket.get_close_code()
|
||||||
var reason = socket.get_close_reason()
|
var reason = socket.get_close_reason()
|
||||||
_socket_connection_closed(code, reason)
|
_socket_connection_closed(code, reason)
|
||||||
|
|
||||||
#
|
#
|
||||||
#if WebRTCPeerConnection.STATE_CONNECTED == connection_state:
|
#if WebRTCPeerConnection.STATE_CONNECTED == connection_state:
|
||||||
#
|
#
|
||||||
|
|||||||
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/1.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/1.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://du7l08nfe12c2"
|
|
||||||
path="res://.godot/imported/1.png-740f1e53c0d26122bd8d51edb620e3ee.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/cityfirstprops/1.png"
|
|
||||||
dest_files=["res://.godot/imported/1.png-740f1e53c0d26122bd8d51edb620e3ee.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/2.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/2.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://c6b37ojha2chl"
|
|
||||||
path="res://.godot/imported/2.png-8597e7232adc1b4a66ce074ef3b5e201.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/cityfirstprops/2.png"
|
|
||||||
dest_files=["res://.godot/imported/2.png-8597e7232adc1b4a66ce074ef3b5e201.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/3.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/3.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://desoml0l330dy"
|
|
||||||
path="res://.godot/imported/3.png-724a29f6d43f6d26a86a266037d0afea.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/cityfirstprops/3.png"
|
|
||||||
dest_files=["res://.godot/imported/3.png-724a29f6d43f6d26a86a266037d0afea.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/4.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/4.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://c8f1w8rwb7jeb"
|
|
||||||
path="res://.godot/imported/4.png-48c775c13b0c69de279ec2f0b35b86ee.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/cityfirstprops/4.png"
|
|
||||||
dest_files=["res://.godot/imported/4.png-48c775c13b0c69de279ec2f0b35b86ee.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/5.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/5.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://cg3msud4arrcv"
|
|
||||||
path="res://.godot/imported/5.png-cc1f4a149f1e260118f4e74b663264d4.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/cityfirstprops/5.png"
|
|
||||||
dest_files=["res://.godot/imported/5.png-cc1f4a149f1e260118f4e74b663264d4.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/6.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/6.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://om2p3177qane"
|
|
||||||
path="res://.godot/imported/6.png-54ede6774894659427742c89fd6a3622.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/cityfirstprops/6.png"
|
|
||||||
dest_files=["res://.godot/imported/6.png-54ede6774894659427742c89fd6a3622.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/7.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/7.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://dwdyggbxoyxs5"
|
|
||||||
path="res://.godot/imported/7.png-6594bf9880cf5018797a4ab4b3d8650e.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/cityfirstprops/7.png"
|
|
||||||
dest_files=["res://.godot/imported/7.png-6594bf9880cf5018797a4ab4b3d8650e.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/8.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/cityfirstprops/8.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://dq6jxsb7f0sco"
|
|
||||||
path="res://.godot/imported/8.png-df50111ed51bb6c35997701dd33cd23f.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/cityfirstprops/8.png"
|
|
||||||
dest_files=["res://.godot/imported/8.png-df50111ed51bb6c35997701dd33cd23f.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0001.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0001.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://d2oq8r3111t1o"
|
|
||||||
path="res://.godot/imported/citysecondcityprops0001.png-de2765c774d4a45d393272745f105280.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0001.png"
|
|
||||||
dest_files=["res://.godot/imported/citysecondcityprops0001.png-de2765c774d4a45d393272745f105280.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0002.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0002.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://c5fa4wbjg2nul"
|
|
||||||
path="res://.godot/imported/citysecondcityprops0002.png-0ff4a27812bf24f21571323a57a85cb9.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0002.png"
|
|
||||||
dest_files=["res://.godot/imported/citysecondcityprops0002.png-0ff4a27812bf24f21571323a57a85cb9.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0003.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0003.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://bdfar267x2asq"
|
|
||||||
path="res://.godot/imported/citysecondcityprops0003.png-af1c31f50595a5536e6e471dba5057c1.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0003.png"
|
|
||||||
dest_files=["res://.godot/imported/citysecondcityprops0003.png-af1c31f50595a5536e6e471dba5057c1.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0004.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0004.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://csoie1s86i00t"
|
|
||||||
path="res://.godot/imported/citysecondcityprops0004.png-98e5d90582902e4a847215bcd913e827.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0004.png"
|
|
||||||
dest_files=["res://.godot/imported/citysecondcityprops0004.png-98e5d90582902e4a847215bcd913e827.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0005.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0005.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://xms2reqh3u4r"
|
|
||||||
path="res://.godot/imported/citysecondcityprops0005.png-60d1b884e6a73f0e98fcb3f0a22fad1d.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0005.png"
|
|
||||||
dest_files=["res://.godot/imported/citysecondcityprops0005.png-60d1b884e6a73f0e98fcb3f0a22fad1d.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0006.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0006.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://dy3dl84s40olu"
|
|
||||||
path="res://.godot/imported/citysecondcityprops0006.png-c39289cc6bd9689d0a9764f39ad2b49e.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0006.png"
|
|
||||||
dest_files=["res://.godot/imported/citysecondcityprops0006.png-c39289cc6bd9689d0a9764f39ad2b49e.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0007.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0007.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://crtayc4b4hpew"
|
|
||||||
path="res://.godot/imported/citysecondcityprops0007.png-ae72aa72dcf08c12604372f1cb5641ca.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0007.png"
|
|
||||||
dest_files=["res://.godot/imported/citysecondcityprops0007.png-ae72aa72dcf08c12604372f1cb5641ca.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0008.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0008.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://cu8d52k0w2cwg"
|
|
||||||
path="res://.godot/imported/citysecondcityprops0008.png-5eb87b8e87d0de53767da249f2f41499.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/citysecondprops/citysecondcityprops0008.png"
|
|
||||||
dest_files=["res://.godot/imported/citysecondcityprops0008.png-5eb87b8e87d0de53767da249f2f41499.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0001.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0001.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://7fj3p3qbmiik"
|
|
||||||
path="res://.godot/imported/divers0001.png-3e1772453fd272f5fa042f789a744781.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/divers/divers0001.png"
|
|
||||||
dest_files=["res://.godot/imported/divers0001.png-3e1772453fd272f5fa042f789a744781.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0002.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0002.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://dmsq48g8ujrib"
|
|
||||||
path="res://.godot/imported/divers0002.png-fc31d1797822411641a1d4d169b1cdb2.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/divers/divers0002.png"
|
|
||||||
dest_files=["res://.godot/imported/divers0002.png-fc31d1797822411641a1d4d169b1cdb2.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0003.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0003.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://b5exuvtqk3snm"
|
|
||||||
path="res://.godot/imported/divers0003.png-782cad405f7279c5456f1670a64ed450.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/divers/divers0003.png"
|
|
||||||
dest_files=["res://.godot/imported/divers0003.png-782cad405f7279c5456f1670a64ed450.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0004.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0004.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://dojs1gk0trib2"
|
|
||||||
path="res://.godot/imported/divers0004.png-0d1e02b0e5d58205a65b66b8c6a52656.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/divers/divers0004.png"
|
|
||||||
dest_files=["res://.godot/imported/divers0004.png-0d1e02b0e5d58205a65b66b8c6a52656.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0005.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0005.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://b3rl3gl4npmb"
|
|
||||||
path="res://.godot/imported/divers0005.png-6341625a4ccba21b699ffb5de41edc26.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/divers/divers0005.png"
|
|
||||||
dest_files=["res://.godot/imported/divers0005.png-6341625a4ccba21b699ffb5de41edc26.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0006.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0006.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://bdxcrg407twxi"
|
|
||||||
path="res://.godot/imported/divers0006.png-b291a9222f561e1cbaa7e68ac3b81994.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/divers/divers0006.png"
|
|
||||||
dest_files=["res://.godot/imported/divers0006.png-b291a9222f561e1cbaa7e68ac3b81994.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0007.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0007.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://dmg7thxs3xx01"
|
|
||||||
path="res://.godot/imported/divers0007.png-8bd0bb28fa60a8a8d3ec9286744b73f9.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/divers/divers0007.png"
|
|
||||||
dest_files=["res://.godot/imported/divers0007.png-8bd0bb28fa60a8a8d3ec9286744b73f9.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0008.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/divers/divers0008.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://8n8h5e8qhtlp"
|
|
||||||
path="res://.godot/imported/divers0008.png-f60756bac888e1293c8ad876534d0dba.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/divers/divers0008.png"
|
|
||||||
dest_files=["res://.godot/imported/divers0008.png-f60756bac888e1293c8ad876534d0dba.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0001.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0001.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://csga4a5kaqk2s"
|
|
||||||
path="res://.godot/imported/grounds0001.png-1daaf2c71082728808da48901a95740e.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/grounds/grounds0001.png"
|
|
||||||
dest_files=["res://.godot/imported/grounds0001.png-1daaf2c71082728808da48901a95740e.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0002.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0002.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://rhqxmq2tilom"
|
|
||||||
path="res://.godot/imported/grounds0002.png-a7b278bf22080750be00d098bd057454.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/grounds/grounds0002.png"
|
|
||||||
dest_files=["res://.godot/imported/grounds0002.png-a7b278bf22080750be00d098bd057454.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0003.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0003.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://dys12of68eue5"
|
|
||||||
path="res://.godot/imported/grounds0003.png-67bee7982ccf3ebda160b2ac2f099e7d.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/grounds/grounds0003.png"
|
|
||||||
dest_files=["res://.godot/imported/grounds0003.png-67bee7982ccf3ebda160b2ac2f099e7d.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0004.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0004.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://qgt4c3d6u2os"
|
|
||||||
path="res://.godot/imported/grounds0004.png-bbddf075a06dec4e4d7ce84ab2b57869.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/grounds/grounds0004.png"
|
|
||||||
dest_files=["res://.godot/imported/grounds0004.png-bbddf075a06dec4e4d7ce84ab2b57869.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0005.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0005.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://yxmshaxitqie"
|
|
||||||
path="res://.godot/imported/grounds0005.png-bce8420111b095f71b8f40ede10702ce.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/grounds/grounds0005.png"
|
|
||||||
dest_files=["res://.godot/imported/grounds0005.png-bce8420111b095f71b8f40ede10702ce.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0006.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0006.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://jcdbhpyb0hhf"
|
|
||||||
path="res://.godot/imported/grounds0006.png-b70a888fe77bc08603f27de7865f8e8f.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/grounds/grounds0006.png"
|
|
||||||
dest_files=["res://.godot/imported/grounds0006.png-b70a888fe77bc08603f27de7865f8e8f.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0007.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0007.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://delsx2dt86kn5"
|
|
||||||
path="res://.godot/imported/grounds0007.png-db26ee7ab19a11239c1a4b4a8d6a43cc.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/grounds/grounds0007.png"
|
|
||||||
dest_files=["res://.godot/imported/grounds0007.png-db26ee7ab19a11239c1a4b4a8d6a43cc.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0008.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/grounds/grounds0008.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://65o3l205vij6"
|
|
||||||
path="res://.godot/imported/grounds0008.png-101edfb6505ade63d62d01876d0176cc.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/grounds/grounds0008.png"
|
|
||||||
dest_files=["res://.godot/imported/grounds0008.png-101edfb6505ade63d62d01876d0176cc.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0001.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0001.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://1fs47aytjsp6"
|
|
||||||
path="res://.godot/imported/1house0001.png-e8ba06f10cdd225268d73603f185bb5e.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house1/1house0001.png"
|
|
||||||
dest_files=["res://.godot/imported/1house0001.png-e8ba06f10cdd225268d73603f185bb5e.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0002.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0002.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://by8ybfvr14b7i"
|
|
||||||
path="res://.godot/imported/1house0002.png-9654d623a3569a2ea6b26e064c10759d.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house1/1house0002.png"
|
|
||||||
dest_files=["res://.godot/imported/1house0002.png-9654d623a3569a2ea6b26e064c10759d.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0003.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0003.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://x1214smvqimv"
|
|
||||||
path="res://.godot/imported/1house0003.png-46dc08a1a97a8e158329f48fc88b5829.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house1/1house0003.png"
|
|
||||||
dest_files=["res://.godot/imported/1house0003.png-46dc08a1a97a8e158329f48fc88b5829.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0004.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0004.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://5qvxxj06m7ng"
|
|
||||||
path="res://.godot/imported/1house0004.png-af21ece3d91d54baf330ce339d8c58c0.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house1/1house0004.png"
|
|
||||||
dest_files=["res://.godot/imported/1house0004.png-af21ece3d91d54baf330ce339d8c58c0.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0005.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0005.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://xlxhwbfdx40v"
|
|
||||||
path="res://.godot/imported/1house0005.png-fe9be368a42b864685446adca2aa3332.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house1/1house0005.png"
|
|
||||||
dest_files=["res://.godot/imported/1house0005.png-fe9be368a42b864685446adca2aa3332.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0006.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0006.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://h3i32owpvsll"
|
|
||||||
path="res://.godot/imported/1house0006.png-1dcb3af4e7dc9ef743165fee84589900.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house1/1house0006.png"
|
|
||||||
dest_files=["res://.godot/imported/1house0006.png-1dcb3af4e7dc9ef743165fee84589900.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0007.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0007.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://dat84bi3op3uw"
|
|
||||||
path="res://.godot/imported/1house0007.png-08e63834ab36dc3a41a6b6cb00c6a30c.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house1/1house0007.png"
|
|
||||||
dest_files=["res://.godot/imported/1house0007.png-08e63834ab36dc3a41a6b6cb00c6a30c.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0008.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house1/1house0008.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://c2e08umtvdy26"
|
|
||||||
path="res://.godot/imported/1house0008.png-07c6a24e8a1eb2b68d9c87d3280ca9ad.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house1/1house0008.png"
|
|
||||||
dest_files=["res://.godot/imported/1house0008.png-07c6a24e8a1eb2b68d9c87d3280ca9ad.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0001.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0001.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://5uo53sfcmtwt"
|
|
||||||
path="res://.godot/imported/2house0001.png-9e76c29803efde6716eaf5cec96b24a2.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house2/2house0001.png"
|
|
||||||
dest_files=["res://.godot/imported/2house0001.png-9e76c29803efde6716eaf5cec96b24a2.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0002.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0002.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://cyj8tkgh4c0kh"
|
|
||||||
path="res://.godot/imported/2house0002.png-daf7be3fc077676242ed8698880aac68.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house2/2house0002.png"
|
|
||||||
dest_files=["res://.godot/imported/2house0002.png-daf7be3fc077676242ed8698880aac68.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0003.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0003.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://5ifdfyt3rvav"
|
|
||||||
path="res://.godot/imported/2house0003.png-0bb8c3ac1da2b48c30f45541edac34f9.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house2/2house0003.png"
|
|
||||||
dest_files=["res://.godot/imported/2house0003.png-0bb8c3ac1da2b48c30f45541edac34f9.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0004.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0004.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://b2ik161puwu8w"
|
|
||||||
path="res://.godot/imported/2house0004.png-6773a5fae26c9bd8966172b9d70543c1.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house2/2house0004.png"
|
|
||||||
dest_files=["res://.godot/imported/2house0004.png-6773a5fae26c9bd8966172b9d70543c1.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0005.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0005.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://nh21j4b0byj2"
|
|
||||||
path="res://.godot/imported/2house0005.png-1bb1f078567278f7b92fdff42ebcc2a3.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house2/2house0005.png"
|
|
||||||
dest_files=["res://.godot/imported/2house0005.png-1bb1f078567278f7b92fdff42ebcc2a3.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0006.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0006.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://bo4fyj7rna00x"
|
|
||||||
path="res://.godot/imported/2house0006.png-1bf7740884fde508c7c6fc3f614ea507.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house2/2house0006.png"
|
|
||||||
dest_files=["res://.godot/imported/2house0006.png-1bf7740884fde508c7c6fc3f614ea507.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0007.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0007.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://bnohrtoqnvaxl"
|
|
||||||
path="res://.godot/imported/2house0007.png-c50578f81447cec79fc5a41218325189.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house2/2house0007.png"
|
|
||||||
dest_files=["res://.godot/imported/2house0007.png-c50578f81447cec79fc5a41218325189.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0008.png
(Stored with Git LFS)
BIN
assets/2d_city/2dcitywithoutoutline/house2/2house0008.png
(Stored with Git LFS)
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://fmu3017wuooi"
|
|
||||||
path="res://.godot/imported/2house0008.png-2589c9fffa50c0af27577b579951d207.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/2d_city/2dcitywithoutoutline/house2/2house0008.png"
|
|
||||||
dest_files=["res://.godot/imported/2house0008.png-2589c9fffa50c0af27577b579951d207.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/uastc_level=0
|
|
||||||
compress/rdo_quality_loss=0.0
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/channel_remap/red=0
|
|
||||||
process/channel_remap/green=1
|
|
||||||
process/channel_remap/blue=2
|
|
||||||
process/channel_remap/alpha=3
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user