83 Commits

Author SHA1 Message Date
PotatoFarmer441
d6417b9a84 fix(zones): set zone distance on creation (#44)
* fix(zones): set zone distance on creation

Signed-off-by: PotatoFarmer441 <helioau@live.com.au>

* Update shared.lua

Signed-off-by: PotatoFarmer441 <helioau@live.com.au>

---------

Signed-off-by: PotatoFarmer441 <helioau@live.com.au>
2025-08-30 13:39:20 +02:00
Zoo
4491ad3599 fix(zones/shared): ensure safe removal of zones from entering and exiting lists (#1)
Co-authored-by: toshko <toshko0003@gmail.com>
2025-05-04 17:58:50 +02:00
Linden
cc6aed591f chore: adjust links 2025-03-29 21:46:58 +11:00
Linden
fb2225e373 chore: add copyright notices to each file
Some people accidentally, mistakenly, and without any malicious intent forget to attribute code from this resource to its source. This change will hopefully assist people, so that they do not make that mistake again.
2025-03-18 18:46:09 +11:00
Aaron
f5396edc78 fix(zones): trigger onExit when teleporting away from zones (#732) 2025-03-16 14:35:30 +11:00
Linden
b20130c998 fix(zones): ensure nearbyZones always updates 2025-03-14 15:25:28 +11:00
Linden
4d8af3c31e fix(zones): update zone distance when checking contains
todo: consume caffeine
2025-03-14 10:11:08 +11:00
Linden
ae02b74878 fix(zones): correct contains check 2025-03-14 10:02:37 +11:00
Linden
34fb03d783 fix(zones): don't trigger onEnter on grid change 2025-03-13 21:14:19 +11:00
Linden
4188bd2596 feat(zones): add getNearbyZones 2025-03-13 19:31:21 +11:00
ANTOND.
2a8ce3f4b0 fix(zones): correct zone data types (#729) 2025-03-13 18:17:10 +11:00
Linden
caa9ed1d97 fix(zones): filter grid entries for zones 2025-03-10 14:28:29 +11:00
Linden
105a079c09 feat(zones): utilise the grid system
This probably works, even.
2025-03-10 12:30:00 +11:00
Linden
9e7750b3ba refactor(zones): improve types 2025-03-10 12:02:45 +11:00
Linden
9135e65009 refactor(zones): move to shared module 2025-03-10 11:52:20 +11:00
Stan
68210b2a59 fix(zones): Fix error that occurs when there are no duplicate z-coords (#723) 2025-03-10 11:28:05 +11:00
Dimmies
024b392fdd fix(client/zones): fix nil error when multiple zones are removes at once (#726)
Signed-off-by: Dimmies <dimmiestv@gmail.com>
2025-03-10 11:23:50 +11:00
Linden
356e560a5d fix(client/zones): use arrays for temporary zone tables
Resolves #682.
2025-01-20 02:04:21 +11:00
Linden
6368c2c6fd fix(client/zones): remove thread when setting initial debug state
Resolves #605.
2024-07-01 12:16:31 +10:00
Linden
aebe248e39 refactor: localise globals to prevent shadowing
See #456.
2023-12-07 08:36:40 +11:00
DokaDoka
4b99aa0953 fix(client/zones): force debug colour values to be integers
for some reason scripts not using oal treat any float above 0 as 255 when used as a colour value
2023-08-13 16:01:12 +10:00
GaDGeT
964e67f9a6 fix(client/zones): store debug colours as a table 2023-08-13 15:57:52 +10:00
Linden
43e521e65b chore(zones): rename CZone field __type 2023-08-03 04:45:26 +10:00
DokaDoka
f04534d879 refactor(client/zones): rename type property to __type to avoid conflicts 2023-07-30 17:50:34 +10:00
Linden
d2c5be8ea8 fix(client/zones): setDebug early return 2023-07-27 00:38:36 +10:00
Linden
fe0f28921f fix(client/zones): race condition when setting debug function 2023-07-25 14:13:09 +10:00
BerkieBb
8f5880aad7 feat(zones): add setDebug and debugColour (#369) 2023-07-23 19:37:29 +10:00
Linden
8a0f5e946d fix(client/zones): prevent malformed polyzone deadlock with debug
Temp workaround.
2023-06-20 09:19:27 +10:00
Linden
51da742138 feat(zones): add new getter functions 2023-04-20 15:52:55 +10:00
DokaDoka
f8788d74b6 fix(client/zones): abort triangle creation if polygon is not simple 2023-01-15 16:20:11 +11:00
DokaDoka
ba9380b39a feat(client/zones): ensure polyzone is coplanar 2023-01-13 22:26:50 +11:00
DokaDoka
6e10ebe464 feat(client/zones): break triangle creating loop of it is going to deadloop 2023-01-13 16:08:37 +11:00
DokaDoka
0e052ed7c5 fix(client/zones): get diagonal offsets in 2d
avoids floating point weirdness with the z coord
2023-01-13 16:07:25 +11:00
DokaDoka
6bfd6091d7 refactor(client/zones): break polygon into triangles with the ear clipping method 2023-01-07 19:16:36 +11:00
Linden
012b68a3be fix(client/zones): remove all zone references
Should resolve #191.
2022-12-30 21:07:32 +11:00
Linden
6a704c40fe refactor(client/zones): re-order zones and call onExit before onEnter
insideZones will be stored as a map rather than an array for simplicity.
Store zones the player is entering and exiting, then sort based on distance;
always triggering onExit for all zones before onEnter.
See #179.
2022-12-24 16:08:21 +11:00
Linden
08a725105b fix(client/zones): disable marker rotation 2022-12-17 06:21:22 +11:00
DokaDoka
61a940a188 refactor(client/zones): redo triangle algorithm 2022-12-13 14:29:23 +11:00
Linden
ce5697f3b2 feat(zones): add basic zone support to the server
Quick and dirty with many features stripped (onEnter/onExit/inside).
2022-11-16 23:07:53 +11:00
Linden
9b7eef2880 fix(client/zones): convert vector4 to vector3
Sometimes people send the incorrect types, and it's apparently on us (???)
to allow them to do the wrong thing and catch their mistakes for them.
2022-11-09 16:04:03 +11:00
Linden
0e9ad23fb3 fix: types 2022-10-02 20:19:35 +11:00
DokaDoka
0014dfbe1f fix(client/zones): expand vectors
for oal enjoyers
2022-09-21 14:45:22 +10:00
DokaDoka
ad219b2508 feat(client/zones): debug walls
brings the debug display more in line with the creator
2022-09-20 23:52:56 +10:00
Linden
cd8e4bbd4d fix(client/zones): yet another debug fix
Because a zone vanishing upon entry is of no use.
2022-09-17 18:21:38 +10:00
Linden
032e0e2db1 fix(client/zones): CZone.contains return type 2022-09-14 08:12:12 +10:00
Linden
62d56fa885 refactor(client/zones): add types and change indentation 2022-09-14 08:08:00 +10:00
Linden
26538b8148 refactor(imports): assign modules directly to lib namespace
Mostly a change for improved intellisense with sumneko lua.
Includes some type fixes and deprecation notices.
2022-09-14 01:20:50 +10:00
Linden
0ccdf5675c fix(client/zones): scuffed ternary
Since Lua "ternary" expressions run until they have a truthy value,
boxzone and polyzone will try compare distance to radius.
2022-09-11 12:27:23 +10:00
Linden
57187c8c30 perf(client/zones): reduce overhead
In a naive test with 10k sphere zones vs points, zones ran 0.02~0.04ms higher.
Overhead is roughly halved with these tweaks.
2022-09-11 12:06:30 +10:00
Linden
77ff8e977b feat(client/zones): set cache.coords
People keep asking for coords to be added to cache, but it be problematic
to spam the events system every tick with that information.
If zones is loaded, we can set cache locally without relying on events.
2022-09-11 11:06:38 +10:00