Skip to content

Commit

Permalink
Merge branch 'develop' into feat/bytebuffer-serializer
Browse files Browse the repository at this point in the history
  • Loading branch information
DarkWeird authored Nov 24, 2021
2 parents addbff5 + 3769272 commit 6b967d5
Show file tree
Hide file tree
Showing 18 changed files with 378 additions and 97 deletions.
20 changes: 0 additions & 20 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

54 changes: 54 additions & 0 deletions .github/ISSUE_TEMPLATE/crash-bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
name: 🐛 Crash/Bug Report
about: Create a crash or bug report to help us improve Terasology
title: Crash/Bug on trying to ...
labels: 'Status: Needs Investigation, Topic: Stabilization, Type: Bug'
assignees: ''

---

<!-- Thanks for taking the time to submit a thorough issue report for Terasology! :-)
Note that for suggestions, general questions & support you can approach us on Discord: https://discord.gg/terasology -->

### General Info

Terasology Launcher Version:
Terasology Version:
Operating System:
Onboard / Dedicated Graphics:
Java Version:

### What you were trying to do

A clear and concise description of what you expected to happen.

### What actually happened

A clear and concise description of what didn't match your expectations, a.k.a. the crash or malfunction you faced.

### How to reproduce

1. Select Terasology version '...'
1. Start Terasology
1. Select gameplay '...'
1. Add modules '...'
1. Start game
1. Do '...'
1. See error

### Log details

Note, that the crash reporter often provides multiple tabs with different logs.
Please attach (a link to) all of them.

### Screenshots

If applicable, add screenshots to help explain your problem.

### Workaround

If applicable, describe any workaround you found to avoid the issue

### Additional Infos / Context

Feel free to add any other context about the problem here.
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
name: 📜 Documentation Request
about: Report a need for additional documentation for Terasology
title: Request for documentation for ...
labels: 'Category: Doc, Status: Needs Discussion'
assignees: ''

---

<!-- Thanks for taking the time to submit a thorough request for Terasology! :-)
Note that for suggestions, general questions & support you can approach us on Discord: https://discord.gg/terasology -->

### Documentation Topic

Please use any of the following prompts to provide a clear and concise description of what you need more documentation about. You can also provide a custom description.

* I was trying to understand the concept of ...
* I want to know more about how to use module ...
* I need more information for troubleshooting issues related to ...
* I expected ... to be documented clearer / more present.

### Documentation Type

- type: dropdown
id: documentation-type
attributes:
label: "Documentation Type"
description: Where / How should the information you need be provided?
options:
- In-Game (Item / Notification)
- In-Game (NPC Interaction)
- In-Game (Menu / World Creation)
- Loading Screen
- In-Code (JavaDoc / Comments)
- Module Documentation
- Terasology Wiki
- Tutorial Module
- Terasology Website
- Terasology Forum
- Discord Channel Descriptions / Pins

Please use any of the following prompts to provide a clear and concise description of any alternative documentation types you've considered. You can also provide a custom description.

* We could use ..., but ...
* I thought about ..., but ...
* ... won't be sufficient, because ...

### Additional notes

Feel free to add any other context or screenshots about your feature request here.
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/improvement-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: ✨ Improvement Request
about: Suggest an improvement for Terasology
title: Request for improving ...
labels: 'Status: Needs Discussion, Type: Improvement'
assignees: ''

---

<!-- Thanks for taking the time to submit a thorough request for Terasology! :-)
Note that for suggestions, general questions & support you can approach us on Discord: https://discord.gg/terasology -->

### Motivation

Is your feature request related to a problem? Please use any of the following prompts to provide a clear and concise description of what the problem is. You can also provide a custom description.

* I feel frustrated when ...
* I'm about to uninstall Terasology when ...
* I feel disappointed when ...

### Proposal

Please use any of the following prompts to provide a clear and concise description of what you would like to happen instead. You can also provide a custom description.

* I wish there was ...
* It would be fun to ...
* I would play for hours if ...

### Alternatives

Please use any of the following prompts to provide a clear and concise description of any alternative solutions or features you've considered. You can also provide a custom description.

* We could use ..., but ...
* I thought about ..., but ...
* ... won't be sufficient, because ...

### Additional notes

Feel free to add any other context or screenshots about your feature request here.
44 changes: 44 additions & 0 deletions .github/ISSUE_TEMPLATE/roadmap-draft.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
name: 🛤️ Roadmap Draft
about: Document the roadmap for a bigger effort within Terasology
title: Roadmap for ...
labels: 'Category: Doc, Status: Needs Discussion'
assignees: ''

---

<!-- Thanks for taking the time to submit a thorough roadmap draft for Terasology! :-)
Note that for suggestions, general questions & support you can approach us on Discord: https://discord.gg/terasology -->

### Motivation

* Is there a specific problem this effort will solve?
* Is there a specific need this effort will satisfy?
* How did you get the idea for this effort?
* What will be the benefits of this effort?

### Proposal

* On a high level, what will the effort entail? (there's space for a fine-granular task breakdown farther down)
* Which areas of Terasology will the effort affect?
* What is the "Definition of Done" for this effort?

### Concerns

* Is there specific expertise that will be needed for this effort?
* Does this effort have dependencies on other efforts?
* Do you expect this effort to conflict with any other efforts?
* What are potential drawbacks of the effort?
* What are maintenance or continuous efforts that will persist beyond the completion of this effort?


### Task Breakdown

* What are the individual tasks that need to be done to complete the effort?
* Can you roughly estimate how hard the individual tasks would be for a software developer with 2 years of on-the-job Java development expertise, but no in-depth expertise in special areas such as rendering or AI?
* Which tasks are inter-dependent?
* Which tasks can be done in parallel?

### Additional notes

Feel free to add any other context or screenshots about your roadmap draft here.
13 changes: 11 additions & 2 deletions config/gradle/common.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,16 @@ spotbugsMain {
}
}

// TODO: Temporary until javadoc has been fixed for Java 8 everywhere
javadoc {
tasks.javadoc {
// Disable doclint messages about missing "@param" or "@return" tags.
options.addBooleanOption("Xdoclint:all,-missing", true)

// Omit package qualifiers for some of the most common types.
options.noQualifiers(
"java.lang", "java.util.*", "org.joml",
"org.terasology.engine.entitySystem.entity"
)

// TODO: Temporary until javadoc has been fixed for Java 8 everywhere
failOnError = false
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public void construct(Actor actor) {
try {
action.construct(actor);
} catch (Exception e) {
logger.info("Exception while running construct() of action {} from entity {}: {}", action, actor.getEntity(), e.getMessage());
logger.debug("Exception while running construct() of action {} from entity {}: {}", action, actor.getEntity(), e.getMessage());
}
}
}
Expand All @@ -67,7 +67,7 @@ public BehaviorState execute(Actor actor) {
try {
return action.modify(actor, BehaviorState.UNDEFINED);
} catch (Exception e) {
logger.info("Exception while running action {} from entity {}: ", action, actor.getEntity(), e);
logger.debug("Exception while running action {} from entity {}: ", action, actor.getEntity(), e);
// TODO maybe returning UNDEFINED would be more fitting?
return BehaviorState.FAILURE;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,8 @@
import org.terasology.reflection.metadata.FieldMetadata;

import java.net.BindException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.InterfaceAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Collection;
import java.util.Enumeration;
import java.util.List;
import java.util.Map;
import java.util.Optional;
Expand Down Expand Up @@ -177,40 +172,18 @@ public void host(int port, boolean dedicatedServer) throws HostingFailedExceptio
logger.info("No server MOTD is defined");
}

// enumerate all network interfaces that listen
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();

while (interfaces.hasMoreElements()) {
NetworkInterface ifc = interfaces.nextElement();
if (!ifc.isLoopback()) {
for (InterfaceAddress ifadr : ifc.getInterfaceAddresses()) {
// Exclude interfaces with the following key words to avoid common virtual and otherwise unlikely useful nics
// TODO: Make this configurable via config.cfg?
if (ifc.getDisplayName().contains("VirtualBox") || ifc.getDisplayName().contains("ISATAP")) {
logger.info("Skipping filtered interface name {}", ifc.getDisplayName());
} else {
InetAddress adr = ifadr.getAddress();
logger.info("Listening on network interface \"{}\", hostname \"{}\" ({})",
ifc.getDisplayName(), adr.getCanonicalHostName(), adr.getHostAddress());
}
}
}
}
if (serverChannelFuture.isSuccess()) {
logger.info("Server started");
}
serverChannelFuture.sync();
nextNetworkTick = time.getRealTimeInMs();
} catch (SocketException e) {
throw new HostingFailedException("Could not identify network interfaces", e);
} catch (ChannelException e) {
if (e.getCause() instanceof BindException) {
throw new HostingFailedException("Port already in use (are you already hosting a game?)",
e.getCause());
} else {
throw new HostingFailedException("Failed to host game", e.getCause());
}

} catch (InterruptedException e) {
shutdown();
throw new HostingFailedException("Server has been interrupted", e.getCause());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,9 @@ public class SkeletalMeshComponent implements VisualComponent<SkeletalMeshCompon
public EntityRef rootBone = EntityRef.NULL;
public float animationTime;

@Replicate
public Vector3f scale = new Vector3f(1, 1, 1);
@Replicate
public Vector3f translate = new Vector3f();

@Replicate
Expand Down
Loading

0 comments on commit 6b967d5

Please sign in to comment.