feat: uhhh I forgot

This commit is contained in:
TrèsAbhi committed 2024-01-13 13:11:01 -06:00
1 parent 785e9650e5
commit dbbde066f8
5 files changed
+82 -91

No files matched your search

+5 -6
View File
@@ -36,10 +36,10 @@
"@radix-ui/colors": "^3.0.0-rc.4",
"@radix-ui/react-icons": "^1.3.0",
"@radix-ui/themes": "^2.0.1",
"@react-three/drei": "^9.90.1",
"@react-three/fiber": "^8.15.12",
"@react-three/postprocessing": "^2.15.11",
"@react-three/drei": "^9.93.0",
"@react-three/fiber": "^8.15.14",
"@resvg/resvg-js": "^2.4.1",
"@types/three": "^0.160.0",
"@vanilla-extract/css": "^1.13.0",
"bepaint": "^0.1.0-beta.3",
"decompress": "^4.2.1",
@@ -62,9 +62,9 @@
"react-spinners": "^0.13.8",
"satori": "^0.10.8",
"sharp": "^0.33.1",
"three": "^0.159.0",
"three": "^0.160.0",
"three-custom-shader-material": "^5.4.0",
"three-stdlib": "^2.28.11",
"three-stdlib": "^2.29.1",
"vite-node": "^0.34.5",
"vitepress": "^1.0.0-rc.20",
"vitepress-plugin-auto-sidebar": "^1.1.0",
@@ -84,7 +84,6 @@
"@types/parse-dds": "^1.0.3",
"@types/pngjs": "^6.0.4",
"@types/react": "^18.2.22",
"@types/three": "^0.160.0",
"@vanilla-extract/next-plugin": "^2.3.1",
"compare-versions": "^6.1.0",
"crc": "^4.3.2",
@@ -99,6 +99,17 @@ export function TankArmor({ ...props }: TankArmorProps) {
turretPosition.add(turretOrigin);
// const tracksGeometry = mergeBufferGeometries(
// modelNodes
// .map((node) => {
// const isWheel = node.name.startsWith('chassis_wheel_');
// const isTrack = node.name.startsWith('chassis_track_');
// const isVisible = isWheel || isTrack;
// if (isVisible) return (node as Mesh).geometry;
// })
// .filter(Boolean),
// );
return (
<HeadsUpDisplay>
<Lighting />
@@ -136,11 +147,23 @@ export function TankArmor({ ...props }: TankArmorProps) {
penetration={penetration}
thickness={thickness}
ricochet={ricochet}
isArmor
/>
);
})}
{/* <ArmorMesh
geometry={tracksGeometry!}
caliber={antagonist.shell.caliber}
canSplash={splashCapable}
isExplosive={explosiveCapable}
isSpaced
normalization={normalization}
penetration={penetration}
thickness={50}
ricochet={ricochet}
isExternalModule
/> */}
{modelNodes.map((node) => {
const isWheel = node.name.startsWith('chassis_wheel_');
const isTrack = node.name.startsWith('chassis_track_');
@@ -161,7 +184,7 @@ export function TankArmor({ ...props }: TankArmorProps) {
penetration={penetration}
thickness={thickness}
ricochet={ricochet}
isArmor={false}
isExternalModule
/>
);
})}
@@ -200,11 +223,9 @@ export function TankArmor({ ...props }: TankArmorProps) {
penetration={penetration}
thickness={thickness}
ricochet={ricochet}
isArmor
/>
);
})}
<group
position={new Vector3()
.sub(turretOrigin)
@@ -245,7 +266,6 @@ export function TankArmor({ ...props }: TankArmorProps) {
penetration={penetration}
thickness={thickness}
ricochet={ricochet}
isArmor
/>
);
})}
@@ -271,7 +291,7 @@ export function TankArmor({ ...props }: TankArmorProps) {
penetration={penetration}
thickness={thickness}
ricochet={ricochet}
isArmor={false}
isExternalModule
/>
);
})}
+4 -4
View File
@@ -8,7 +8,7 @@ interface ArmorMeshProps extends MeshProps {
isExplosive: boolean;
canSplash: boolean;
isSpaced: boolean;
isArmor: boolean;
isExternalModule?: boolean;
thickness: number;
penetration: number;
caliber: number;
@@ -20,7 +20,7 @@ export function ArmorMesh({
isExplosive,
canSplash,
isSpaced,
isArmor,
isExternalModule = false,
thickness,
penetration,
caliber,
@@ -36,7 +36,7 @@ export function ArmorMesh({
</mesh>
)}
<mesh {...props} renderOrder={1}>
<mesh {...props}>
<CustomShaderMaterial
silent
baseMaterial={MeshStandardMaterial}
@@ -48,7 +48,7 @@ export function ArmorMesh({
isExplosive: { value: isExplosive },
canSplash: { value: canSplash },
isSpaced: { value: isSpaced },
isArmor: { value: isArmor },
isExternalModule: { value: isExternalModule },
thickness: { value: thickness },
penetration: { value: penetration },
caliber: { value: caliber },
@@ -4,7 +4,7 @@ varying vec3 vCSMViewPosition;
uniform bool isExplosive;
uniform bool canSplash;
uniform bool isSpaced;
uniform bool isArmor;
uniform bool isExternalModule;
uniform float thickness;
uniform float penetration;
uniform float caliber;
@@ -21,7 +21,7 @@ void main() {
float splashChance = -1.0;
bool threeCalibersRule = caliber > 3.0 * thickness;
if (isArmor && !isExplosive && !threeCalibersRule && angle >= ricochet) {
if (!isExternalModule && !isExplosive && !threeCalibersRule && angle >= ricochet) {
penetrationChance = 0.0;
splashChance = 0.0;
} else {
@@ -56,14 +56,14 @@ void main() {
}
if (isSpaced) {
if (isArmor) {
if (isExternalModule) {
csm_FragColor = vec4(0.5, 0.0, 1.0, 0.5);
} else {
if (isExplosive) {
csm_FragColor = vec4(1.0, 0.0, 1.0, 0.5);
} else {
csm_FragColor = vec4(1.0, 0.0, 1.0, (1.0 - penetrationChance) * 0.5);
}
} else {
csm_FragColor = vec4(0.5, 0.0, 1.0, 0.5);
}
} else {
csm_FragColor = vec4(1.0, splashChance * 0.392, 0.0, (1.0 - penetrationChance) * 0.5);
+42 -70
View File
@@ -298,7 +298,14 @@
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.8":
"@babel/runtime@^7.11.2", "@babel/runtime@^7.17.8":
version "7.23.8"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.8.tgz#8ee6fe1ac47add7122902f257b8ddf55c898f650"
integrity sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==
dependencies:
regenerator-runtime "^0.14.0"
"@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10":
version "7.23.6"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.6.tgz#c05e610dc228855dc92ef1b53d07389ed8ab521d"
integrity sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==
@@ -2007,10 +2014,10 @@
resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.6.1.tgz#913d3a68c5cbc1124fdb18eff919432f7b6abdde"
integrity sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q==
"@react-three/drei@^9.90.1":
version "9.92.1"
resolved "https://registry.yarnpkg.com/@react-three/drei/-/drei-9.92.1.tgz#004c8d042b24e1a790de8982f93f38269e3d9652"
integrity sha512-XgC6Y0er7WDn1UtjZ8MwXt1UZJj84IVEcZNwkaZ1BTia21IAJsbFo6G8A6XAkNFfivY8oCslljwQnqz623RWIQ==
"@react-three/drei@^9.93.0":
version "9.93.0"
resolved "https://registry.yarnpkg.com/@react-three/drei/-/drei-9.93.0.tgz#85d352340fecb00017f3e4720f9e823947337723"
integrity sha512-G59IZqPzpIZPvVLmzdCITXJQB+mnKMtFv7FvSRFogeelLzOFkyfnkED9QiY0WQCBMFOFLnSx6vb5xzmbQjHyQA==
dependencies:
"@babel/runtime" "^7.11.2"
"@mediapipe/tasks-vision" "0.10.8"
@@ -2023,7 +2030,7 @@
lodash.clamp "^4.0.3"
lodash.omit "^4.5.0"
lodash.pick "^4.4.0"
maath "^0.9.0"
maath "^0.10.7"
meshline "^3.1.6"
react-composer "^5.0.3"
react-merge-refs "^1.1.0"
@@ -2037,10 +2044,10 @@
uuid "^9.0.1"
zustand "^3.5.13"
"@react-three/fiber@^8.15.12":
version "8.15.12"
resolved "https://registry.yarnpkg.com/@react-three/fiber/-/fiber-8.15.12.tgz#0bc08730eec32e53373482fbb518d116d3aa3df3"
integrity sha512-yg0CyXVHIdSbNjM/GAgDrGJnKLTsfTlaR5FoJGEh9IgVKptOoudnFZhBt/Cau4rzx2X6eLmB1+aWOm1dEHSUpg==
"@react-three/fiber@^8.15.14":
version "8.15.14"
resolved "https://registry.yarnpkg.com/@react-three/fiber/-/fiber-8.15.14.tgz#2585dcef580d6974a98ce81f636c31c58a7ffc74"
integrity sha512-Mtc/qG0OMFvXFttzKmYdbKU2vjiTuyJMNfm4nmiKhwd7Hmql+gk9mwhtoofFLLyANrNW8UgTFmCTjf7Fz5h00Q==
dependencies:
"@babel/runtime" "^7.17.8"
"@types/react-reconciler" "^0.26.7"
@@ -2054,17 +2061,6 @@
suspend-react "^0.1.3"
zustand "^3.7.1"
"@react-three/postprocessing@^2.15.11":
version "2.15.11"
resolved "https://registry.yarnpkg.com/@react-three/postprocessing/-/postprocessing-2.15.11.tgz#d07069eabe5da67c31f56ca7f4fbef71dcca817b"
integrity sha512-XQJxhk/hsbzUCLagd8V4pg28iy+UMkYeFFL7BOdlSM1TgAorNzMim+Wu5zI6fbAaGMpmwk7PCbOZN5YPgD0BRQ==
dependencies:
buffer "^6.0.3"
maath "^0.6.0"
n8ao "^1.6.6"
postprocessing "^6.32.1"
three-stdlib "^2.23.4"
"@resvg/[email protected]":
version "2.6.0"
resolved "https://registry.yarnpkg.com/@resvg/resvg-js-android-arm-eabi/-/resvg-js-android-arm-eabi-2.6.0.tgz#fed7723ed5c5f7490762e025ad704bcbceee37b7"
@@ -2439,7 +2435,16 @@
dependencies:
"@types/react" "*"
"@types/react@*", "@types/react@^18.2.22":
"@types/react@*":
version "18.2.47"
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.47.tgz#85074b27ab563df01fbc3f68dc64bf7050b0af40"
integrity sha512-xquNkkOirwyCgoClNk85BjP+aqnIS+ckAJ8i37gAbDs14jfW/J23f2GItAf33oiUPQnqNMALiFeoM9Y5mbjpVQ==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
csstype "^3.0.2"
"@types/react@^18.2.22":
version "18.2.45"
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.45.tgz#253f4fac288e7e751ab3dc542000fb687422c15c"
integrity sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==
@@ -3209,14 +3214,6 @@ core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
cors@^2.8.5:
version "2.8.5"
resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
dependencies:
object-assign "^4"
vary "^1"
crc@^4.3.2:
version "4.3.2"
resolved "https://registry.yarnpkg.com/crc/-/crc-4.3.2.tgz#49b7821cbf2cf61dfd079ed93863bbebd5469b9a"
@@ -4518,15 +4515,10 @@ lz4@^0.6.5:
nan "^2.13.2"
xxhashjs "^0.2.2"
maath@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/maath/-/maath-0.6.0.tgz#7841d0fb95bbb37d19b08b7c5458ef70190950d2"
integrity sha512-dSb2xQuP7vDnaYqfoKzlApeRcR2xtN8/f7WV/TMAkBC8552TwTLtOO0JTcSygkYMjNDPoo6V01jTw/aPi4JrMw==
maath@^0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/maath/-/maath-0.9.0.tgz#425a9600dfc5d0aecfa48029a2e3eea852531b06"
integrity sha512-aAR8hoUqPxlsU8VOxkS9y37jhUzdUxM017NpCuxFU1Gk+nMaZASZxymZrV8LRSHzRk/watlbfyNKu6XPUhCFrQ==
maath@^0.10.7:
version "0.10.7"
resolved "https://registry.yarnpkg.com/maath/-/maath-0.10.7.tgz#9289b42a5db8ac5b26407b3bfca4e3bebefe50b4"
integrity sha512-zQ2xd7dNOIVTjAS+hj22fyj1EFYmOJX6tzKjZ92r6WDoq8hyFxjuGA2q950tmR4iC/EKXoMQdSipkaJVuUHDTg==
magic-bytes.js@^1.5.0:
version "1.7.0"
@@ -4769,14 +4761,6 @@ [email protected]:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
n8ao@^1.6.6:
version "1.7.3"
resolved "https://registry.yarnpkg.com/n8ao/-/n8ao-1.7.3.tgz#dada1ac33248b45d20db65acb2767de2d17da62d"
integrity sha512-4eq0ZW+hKCDaCmkXIl7qqui7L2YSQyINvXeqqnXYXrXQ56Zbc59FADhwj59q+4zyG93ccGrmIq97x3WmQ8GBbA==
dependencies:
cors "^2.8.5"
express "^4.18.2"
nan@^2.13.2:
version "2.18.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554"
@@ -4887,7 +4871,7 @@ npm-pick-manifest@^9.0.0:
npm-package-arg "^11.0.0"
semver "^7.3.5"
object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.1:
object-assign@^4.0.1, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
@@ -5131,7 +5115,7 @@ postcss@^8.4.27, postcss@^8.4.32:
picocolors "^1.0.0"
source-map-js "^1.0.2"
postprocessing@^6.32.1, postprocessing@^6.34.1:
postprocessing@^6.34.1:
version "6.34.1"
resolved "https://registry.yarnpkg.com/postprocessing/-/postprocessing-6.34.1.tgz#bdbff8def3301e861f0d45a39a188f3cafa7f252"
integrity sha512-xae6A2XNs61V3ohGHR+i9sQDvB4dWaoG/AICw0hg8sOYQWAYDlf+esWMRmO4hixMaYo3AJBJ9WAA7JF7OiGakw==
@@ -5888,10 +5872,10 @@ three-mesh-bvh@^0.6.7:
resolved "https://registry.yarnpkg.com/three-mesh-bvh/-/three-mesh-bvh-0.6.8.tgz#f27d18ca75bdc59316dff0f561af8fb316621a54"
integrity sha512-EGebF9DZx1S8+7OZYNNTT80GXJZVf+UYXD/HyTg/e2kR/ApofIFfUS4ZzIHNnUVIadpnLSzM4n96wX+l7GMbnQ==
three-stdlib@^2.23.4, three-stdlib@^2.28.11:
version "2.28.11"
resolved "https://registry.yarnpkg.com/three-stdlib/-/three-stdlib-2.28.11.tgz#3cfb15563a228598d0d608630711640b7b7b499c"
integrity sha512-2zo5+N2pe91Y88F+pTDTgQYNnV7pTixF93GQis2TS/fGeOf2Qlw0aKhJbzvSq7w8YkhpKL8f1v3L95JImxCltQ==
three-stdlib@^2.28.0, three-stdlib@^2.29.1:
version "2.29.1"
resolved "https://registry.yarnpkg.com/three-stdlib/-/three-stdlib-2.29.1.tgz#10a5d6087b69db3a3909054b03c8e55269a1b71f"
integrity sha512-s1MkrrYglkzgTasY/pNHH/QiUFt5TeEn5MIlzyq7BTGAXLDAy93WKBeHPcoxURtEFItMzK9IM1na6NV7W+Xhnw==
dependencies:
"@types/draco3d" "^1.4.0"
"@types/offscreencanvas" "^2019.6.4"
@@ -5900,22 +5884,10 @@ three-stdlib@^2.23.4, three-stdlib@^2.28.11:
fflate "^0.6.9"
potpack "^1.0.1"
three-stdlib@^2.28.0:
version "2.28.7"
resolved "https://registry.yarnpkg.com/three-stdlib/-/three-stdlib-2.28.7.tgz#677ad2ce4d57375f7582e5fd62eadfd07ef6059a"
integrity sha512-E7NuztilCswBKnEoyqydvA7N4dy0cf/gLA0bKrrg6+Q6j4WtusGa/+t9oK2HVq47S1AHRH2CvFHpdIGNjPKo/A==
dependencies:
"@types/draco3d" "^1.4.0"
"@types/offscreencanvas" "^2019.6.4"
"@types/webxr" "^0.5.2"
draco3d "^1.4.1"
fflate "^0.6.9"
potpack "^1.0.1"
three@^0.159.0:
version "0.159.0"
resolved "https://registry.yarnpkg.com/three/-/three-0.159.0.tgz#6576b1210805b14f0765bac41fd0e4ec18e43b2e"
integrity sha512-eCmhlLGbBgucuo4VEA9IO3Qpc7dh8Bd4VKzr7WfW4+8hMcIfoAVi1ev0pJYN9PTTsCslbcKgBwr2wNZ1EvLInA==
three@^0.160.0:
version "0.160.0"
resolved "https://registry.yarnpkg.com/three/-/three-0.160.0.tgz#cd1e4dbd01aee0719280a9086d75545db52b7a8f"
integrity sha512-DLU8lc0zNIPkM7rH5/e1Ks1Z8tWCGRq6g8mPowdDJpw1CFBJMU7UoJjC6PefXW7z//SSl0b2+GCw14LB+uDhng==
through2@^0.6.3:
version "0.6.5"
@@ -6211,7 +6183,7 @@ validate-npm-package-name@^5.0.0:
dependencies:
builtins "^5.0.0"
vary@^1, vary@~1.1.2:
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==