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
Zooandtoshko 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