From 4140eb37ed009996607e3c5467f1cacb85658c4c Mon Sep 17 00:00:00 2001 From: dvdvideo1234 Date: Thu, 9 Nov 2023 21:52:39 +0200 Subject: [PATCH] Updated: Export generator for the new wire Added: Some models and discarded others Added: RockMan's Fortification --- data/expression2/TA_Exporter_Generator.txt | 19 +++++++----- .../tools/peaces_manager/models_ignored.txt | 9 +++++- lua/autorun/trackassembly_init.lua | 30 ++++++++++++++++++- readme.md | 9 ++++-- 4 files changed, 54 insertions(+), 13 deletions(-) diff --git a/data/expression2/TA_Exporter_Generator.txt b/data/expression2/TA_Exporter_Generator.txt index 8dfe64b..086ba56 100644 --- a/data/expression2/TA_Exporter_Generator.txt +++ b/data/expression2/TA_Exporter_Generator.txt @@ -9,7 +9,7 @@ interval(20) -function number isOuter(Lft, Rgh, Percent, MaxRange) +function number isOuter(Lft:number, Rgh:number, Percent:number, MaxRange:number) { Rez = 0 T = abs(Lft-Rgh) @@ -22,7 +22,7 @@ function number isOuter(Lft, Rgh, Percent, MaxRange) return Rez } -function array clampTrace(Pos:vector,Width,Fwd:vector,Rgh:vector,Len,Holo1,Holo2) +function array clampTrace(Pos:vector,Width:number,Fwd:vector,Rgh:vector,Len:number,Holo1:number,Holo2:number) { AL = Pos - Width * Rgh AR = Pos + Width * Rgh @@ -35,7 +35,7 @@ function array clampTrace(Pos:vector,Width,Fwd:vector,Rgh:vector,Len,Holo1,Holo2 return array(ARR,ARL,ADRL,ADDW) } -function void printPoint(Type:string, Name:string, Mode:string, Hash:string, Point:number, Org:vector, Ang:angle, OverZ) +function void printPoint(Type:string, Name:string, Mode:string, Hash:string, Point:number, Org:vector, Ang:angle, OverZ:number) { # Change storage mode PID = toString(floor(abs(Point))) @@ -48,8 +48,8 @@ function void printPoint(Type:string, Name:string, Mode:string, Hash:string, Poi Org = Org:setZ(OverZ) } - StrAng = toString(Ang):replace("[",""):replace("]","") - StrOrg = toString(Org):replace("[",""):replace("]","") + StrOrg = toString(Org):replace("vec(",""):replace(")","") + StrAng = toString(Ang):replace("ang(",""):replace(")","") if(Ang:pitch() == 0 && Ang:yaw() == 0 && Ang:roll() == 0) { @@ -99,7 +99,7 @@ function void printPoint(Type:string, Name:string, Mode:string, Hash:string, Poi if(first() || dupefinished()) { # What model to search for vector offset - Prop = "models/sprops/cuboids/non_set/cube_18x18x18.mdl" + Prop = "models/sprops/cuboids/height06/size_1/cube_6x6x6.mdl" # Piece type that you are using. It is mandatory # It is usually derived from the addon mame @@ -116,7 +116,7 @@ if(first() || dupefinished()) # Set this to <>0 to use point generation via iterative binary search # Set this to positive to make the algorithm trace forward # Set this to negative to make the algorithm trace backwards - PointID = 1 + PointID = 0 # What segment type are we processing # road > Roads ( PHX roads ) @@ -126,7 +126,7 @@ if(first() || dupefinished()) # Set this to <>0 for direct Z local offset # This us used to override the Z axis magntude - OverrideZ = 5.65723 + OverrideZ = 0 # What mode will the point be exportet as InsertTypeDB = "INS" @@ -175,6 +175,9 @@ if(first() || dupefinished()) TrackJumpBackMultiplier = clamp(TrackJumpBackMultiplier, 1.001, 1.999) # Initialization + MOrigin = vec() + MExtraSide = 0 + MExtraDepth = 0 Time = 0 Chip = entity() CPos = Chip:pos() diff --git a/data/trackassembly/tools/peaces_manager/models_ignored.txt b/data/trackassembly/tools/peaces_manager/models_ignored.txt index 8b6145f..a6c6e87 100644 --- a/data/trackassembly/tools/peaces_manager/models_ignored.txt +++ b/data/trackassembly/tools/peaces_manager/models_ignored.txt @@ -5158,6 +5158,8 @@ models/joe/jtp/straight/1024_45.mdl models/joe/jtp/straight/4096_64.mdl models/joe/jtp/straight/512_45.mdl models/joe/jtp/straight/96_225.mdl +models/joe/jtp/switch/1536/45_y_left.mdl +models/joe/jtp/switch/1536/45_y_right.mdl # Branchwood Valley models/animals/cow.mdl @@ -5326,7 +5328,6 @@ models/props_d47_canals/interior_block_512x256.mdl models/props_d47_canals/interior_block_512x512.mdl # CAP Walkway - models/boba_fett/props/brazier.mdl models/boba_fett/props/brazier2.mdl models/boba_fett/props/goauld_brazier.mdl @@ -5654,3 +5655,9 @@ models/ron/plarail/trains/pa_s11/pa_s11_mid.mdl models/ron/plarail/trains/pa_s11/pa_s11_ps.mdl models/ron/plarail/weapons/v_acs01.mdl models/ron/plarail/weapons/w_acs01.mdl + +# Random Bridges +models/props_canal/canal_bridge04.mdl +models/props_canal/canal_bridge_railing01.mdl +models/props_canal/canal_bridge_railing02.mdl +models/props_canal/canal_bridge_railing_lamps.mdl diff --git a/lua/autorun/trackassembly_init.lua b/lua/autorun/trackassembly_init.lua index 9a29f63..cc217f7 100644 --- a/lua/autorun/trackassembly_init.lua +++ b/lua/autorun/trackassembly_init.lua @@ -85,7 +85,7 @@ local asmlib = trackasmlib; if(not asmlib) then -- Module present ------------ CONFIGURE ASMLIB ------------ asmlib.InitBase("track","assembly") -asmlib.SetOpVar("TOOL_VERSION","8.736") +asmlib.SetOpVar("TOOL_VERSION","8.737") asmlib.SetIndexes("V" ,1,2,3) asmlib.SetIndexes("A" ,1,2,3) asmlib.SetIndexes("WV",1,2,3) @@ -531,6 +531,7 @@ if(CLIENT) then asmlib.WorkshopID("Trackmania United Props" , "1955876643") asmlib.WorkshopID("Anyone's Horrible Trackpack" , "2194528273") asmlib.WorkshopID("Modular Sewer" , "2340192251") + asmlib.WorkshopID("RockMan's Fortification" , "3071058065") asmlib.SetAction("CLEAR_GHOSTS" , function() asmlib.ClearGhosts() end) asmlib.SetAction("CTXMENU_OPEN" , function() asmlib.IsFlag("tg_context_menu", true ) end) @@ -3978,6 +3979,8 @@ else PIECES:Record({"models/joe/jtp/curve/2048_90.mdl", "#", "#", 2, "", "1769,-1769,6.5625"}) PIECES:Record({"models/joe/jtp/curve/3072_90.mdl", "#", "#", 1, "", "0,0,6.5625", "0,-90,0"}) PIECES:Record({"models/joe/jtp/curve/3072_90.mdl", "#", "#", 2, "", "-3072,3072,6.5625", "0,180,0"}) + PIECES:Record({"models/joe/jtp/curve/4096_90.mdl", "#", "#", 1, "", "0,0,6.5625"}) + PIECES:Record({"models/joe/jtp/curve/4096_90.mdl", "#", "#", 2, "", "-4096,4096,6.5625", "0,90,0"}) PIECES:Record({"models/joe/jtp/grades/512_16.mdl", "#", "#", 1, "", "0,-256,-1.43457", "0,-90,0"}) PIECES:Record({"models/joe/jtp/grades/512_16.mdl", "#", "#", 2, "", "0, 256,14.56738", "0,90,0"}) PIECES:Record({"models/joe/jtp/grades/512_32.mdl", "#", "#", 1, "", "0,0,6.56152", "0,-90,0"}) @@ -4019,6 +4022,8 @@ else PIECES:Record({"models/joe/jtp/grades/curve/4096_48_left.mdl", "#", "#", 2, "", "3072,-3072,54.56152"}) PIECES:Record({"models/joe/jtp/grades/curve/4096_64_right.mdl", "#", "#", 1, "", "0,0,6.56152", "0,90,0"}) PIECES:Record({"models/joe/jtp/grades/curve/4096_64_right.mdl", "#", "#", 2, "", "-4096,-4096,70.56152", "0,-180,0"}) + PIECES:Record({"models/joe/jtp/grades/curve/4096_96_left.mdl", "#", "#", 1, "", "0,0,6.5625", "0,90,0"}) + PIECES:Record({"models/joe/jtp/grades/curve/4096_96_left.mdl", "#", "#", 2, "", "4096,-4096,102.5625"}) asmlib.Categorize("StevenTechno's Buildings 2.0",[[function(m) local g = m:gsub("models/","") local r = g:match(".+/"):sub(1, -2) @@ -4602,6 +4607,29 @@ else PIECES:Record({"models/props_bts/hanging_walkway_x_norail.mdl", "#", "#", 4, "", "0,-64,-2.125", "0,-90,0"}) PIECES:Record({"models/props_bts/walkway_destroyed_64a.mdl", "#", "#", 1, "", "0,0,-2.125", "0,-90,0"}) PIECES:Record({"models/props_bts/walkway_destroyed_128a.mdl", "#", "#", 1, "", "0,0,-2.125", "0,90,0"}) + asmlib.Categorize("RockMan's Fortification",[[function(m) + local r = m:gsub(".+/", ""):gsub("%.mdl",""):gsub("_.*",""); return r end]]) + asmlib.ModelToNameRule("SET",nil,{".+_",""},nil) + PIECES:Record({"models/fortification collection/trench_straight.mdl", "#", "#", 1, "", "177,0,0"}) + PIECES:Record({"models/fortification collection/trench_straight.mdl", "#", "#", 2, "", "-177,0,0", "0,180,0"}) + PIECES:Record({"models/fortification collection/trench_end_corridor.mdl", "#", "#", 1, "", "177,0,0"}) + PIECES:Record({"models/fortification collection/trench_end_corridor.mdl", "#", "#", 2, "", "0,192,0", "0,90,0"}) + PIECES:Record({"models/fortification collection/trench_end_corridor.mdl", "#", "#", 3, "", "-177,0,0", "0,180,0"}) + PIECES:Record({"models/fortification collection/trench_3way.mdl", "#", "#", 1, "", "192,0,0"}) + PIECES:Record({"models/fortification collection/trench_3way.mdl", "#", "#", 2, "", "0,192,0", "0,90,0"}) + PIECES:Record({"models/fortification collection/trench_3way.mdl", "#", "#", 3, "", "-192,0,0", "0,180,0"}) + PIECES:Record({"models/fortification collection/trench_4way.mdl", "#", "#", 1, "", "192,0,0"}) + PIECES:Record({"models/fortification collection/trench_4way.mdl", "#", "#", 2, "", "0,192,0", "0,90,0"}) + PIECES:Record({"models/fortification collection/trench_4way.mdl", "#", "#", 3, "", "-192,0,0", "0,180,0"}) + PIECES:Record({"models/fortification collection/trench_4way.mdl", "#", "#", 4, "", "0,-192,0", "0,-90,0"}) + PIECES:Record({"models/fortification collection/trench_turn.mdl", "#", "#", 1, "", "16.5014,208.5,0", "0,90,0"}) + PIECES:Record({"models/fortification collection/trench_turn.mdl", "#", "#", 2, "", "-208.5,-16.5014,0", "0,-180,0"}) + PIECES:Record({"models/fortification collection/trench_end_single.mdl", "#", "#", 1, "", "0,-80,0", "0,-90,0"}) + PIECES:Record({"models/fortification collection/trench_end_single.mdl", "#", "#", 2, "", "0,80,0", "0,90,0"}) + PIECES:Record({"models/fortification collection/small_bunker1.mdl", "#", "#", 1, "", "0,-72,-24", "0,-90,0"}) + PIECES:Record({"models/fortification collection/small_bunker1a.mdl", "#", "#", 1, "", "0,-156,-24", "0,-90,0"}) + PIECES:Record({"models/fortification collection/small_bunker2.mdl", "#", "#", 1, "", "0,-100,-24", "0,-90,0"}) + PIECES:Record({"models/fortification collection/small_bunker2a.mdl", "#", "#", 1, "", "0,-156,-24", "0,-90,0"}) if(gsMoDB == "SQL") then sqlCommit() end end diff --git a/readme.md b/readme.md index 36181c5..0b4e737 100644 --- a/readme.md +++ b/readme.md @@ -25,8 +25,10 @@ created it. But since my lack of time for playing gmod has been drastically incr people asked me if I accept donations, here is [the link to my PayPal](https://www.paypal.me/DeyanVasilev). #### How can I install this? -You can subscribe to it in the workshop [here][ref-workshop] or download the latest stable release from [here][ref-release]. -After downloading the release extracting it in `../GarrysMod/garrysmod/addons` and you are practically done. +You can subscribe to it in the workshop [here][ref-workshop] or obtain a `*.zip` +file [here][ref-zip-rel]. You can also either clone this entire repository in +your `../GarrysMod/garrysmod/addons` folder and the tool will appear in the menu. +However I no longer bother with making [releases][ref-release] as they are outdated. #### Why did you consider making this thing ? I was always annoyed when building a railroad track in-game, spending a lot of time @@ -391,7 +393,7 @@ anymore to maintain cetain track packs leading in **NO SUPPORT**, which is also * Portal 2 Walkway UG **(MOUNT)** (Requested by [mr.bones][ref-user-mbones]) * [CAP Walkway](https://steamcommunity.com/sharedfiles/filedetails/?id=180210973) * Portal 2 High Walkway **(MOUNT)** - * [RockMan's Fortification (comming soon)](https://steamcommunity.com/sharedfiles/filedetails/?id=3071058065) + * [RockMan's Fortification](https://steamcommunity.com/sharedfiles/filedetails/?id=3071058065) #### Where are the trains/vehicles[,][ref-easter] are there any of these? Dude seriously, make them yourself, what's the point of playing Gmod then ... xD @@ -502,3 +504,4 @@ avoiding any version mismatches and confusions. So please don't upload the scrip [ref-ws-date]: https://img.shields.io/steam/update-date/287012681 [ref-ws-updt]: https://steamcommunity.com/sharedfiles/filedetails/changelog/287012681 [ref-release]: https://github.com/dvdvideo1234/TrackAssemblyTool/releases +[ref-zip-rel]: https://github.com/dvdvideo1234/TrackAssemblyTool/archive/master.zip