Commit Graph

201 Commits

Author SHA1 Message Date
Jarrod Doyle 12a8b4f06d
Reduce duplicate code in Resource Path Manager 2024-09-05 18:49:55 +01:00
Jarrod Doyle 63daccb3c1
Remove old InstallPaths 2024-09-05 17:40:10 +01:00
Jarrod Doyle b223d53824
Use Context in mission loader 2024-09-05 17:39:54 +01:00
Jarrod Doyle b89a4d6154
Refactor model viewer to use new Context and support custom models 2024-09-05 17:32:29 +01:00
Jarrod Doyle 9ae75a693e
Add GetModelNames method 2024-09-05 17:31:59 +01:00
Jarrod Doyle ef2f87af20
Add autoload engine context 2024-09-05 17:31:31 +01:00
Jarrod Doyle d3dd40eec3
Add note about gif loader issues 2024-09-01 18:54:30 +01:00
Jarrod Doyle bf475ea21a
Remove ImageSharp 2024-09-01 18:50:33 +01:00
Jarrod Doyle 5d958fd7ad
Add my own gif decoder 2024-09-01 18:36:45 +01:00
Jarrod Doyle fcf0c6a503
Initial alpha model support 2024-09-01 13:51:05 +01:00
Jarrod Doyle ed13b4edc0
Fix invalid model cache on mission change 2024-08-31 12:03:29 +01:00
Jarrod Doyle 4ab115440c
Apply TxtRepl properties 2024-08-31 12:00:07 +01:00
Jarrod Doyle ab34a78739
Add TxtRepl metadata to materials 2024-08-31 11:59:54 +01:00
Jarrod Doyle 047c2a1305
Fix string properties 2024-08-31 11:59:34 +01:00
Jarrod Doyle 5d23f87359
Add yucky textrepl parsing 2024-08-31 09:34:18 +01:00
Jarrod Doyle 81fde92ea4
Remove dummy mesh 2024-08-30 18:54:22 +01:00
Jarrod Doyle 38a360793a
Faster GIF loading 2024-08-30 18:22:40 +01:00
Jarrod Doyle eca63077b8
Cleaner model return 2024-08-30 17:56:28 +01:00
Jarrod Doyle 89cc70345e
Add more detailed model loading timings 2024-08-30 17:47:19 +01:00
Jarrod Doyle 8237a46989
Time a bunch more stuff 2024-08-29 19:59:01 +01:00
Jarrod Doyle 72f8666f5d
Sum repeated stage names 2024-08-29 19:27:18 +01:00
Jarrod Doyle ec79e07ec7
Only load textures that are actually used 2024-08-29 19:09:53 +01:00
Jarrod Doyle 30bfd05073
Preload obejct texture paths and use jorge for failed model textures 2024-08-29 18:36:36 +01:00
Jarrod Doyle 74bde133bb
Simplify model cache setting 2024-08-29 18:09:10 +01:00
Jarrod Doyle 0b347f7745
Fix bugged lightmaps 2024-08-29 17:15:22 +01:00
Jarrod Doyle e7e9c300fd
Remove unneccesary casts on bounds 2024-08-29 16:59:41 +01:00
Jarrod Doyle c0666a5404
More lightmap asbytes cleanup 2024-08-29 16:58:20 +01:00
Jarrod Doyle 5b53d03ae6
Slightly simplify lightmap bytes conversion 2024-08-29 16:55:46 +01:00
Jarrod Doyle 117f5b924c
Remove debug lightmap texture export 2024-08-28 22:18:53 +01:00
Jarrod Doyle e499cfcbfc
Further simplify packing algorithm and increase default width 2024-08-28 22:18:20 +01:00
Jarrod Doyle f6ef623bb4
Simplify packing by reversing sort and growing in only 1 direction 2024-08-28 22:03:48 +01:00
Jarrod Doyle d55231178e
Use custom naive rectpacker 2024-08-28 21:39:30 +01:00
Jarrod Doyle 110c9b8a3c
Add initial UI for lightmap layer toggling 2024-08-28 08:07:01 +01:00
Jarrod Doyle 4a80ef547b
Support toggling lightmap layers 2024-08-28 07:44:07 +01:00
Jarrod Doyle 092896aa52
Use Texture2dArray for lightmap texture 2024-08-27 21:18:31 +01:00
Jarrod Doyle cbf309aaa4
Fix incorrect lightmap scale multiplier 2024-08-27 08:02:10 +01:00
Jarrod Doyle bb617ffc52
Get lightmap data as bytes and blit to atlas 2024-08-27 07:46:44 +01:00
Jarrod Doyle d125fb2cd3
Parse lightmaps as flat array rather than multidimensional array 2024-08-27 07:10:38 +01:00
Jarrod Doyle efb15c19dd
Handle lightmap scale 2024-08-26 16:53:01 +01:00
Jarrod Doyle 9605c36303
Change BuildHierarchy type signature 2024-08-26 15:24:07 +01:00
Jarrod Doyle d3e58af75c
Split hierarchy building to a method and time it 2024-08-26 15:10:05 +01:00
Jarrod Doyle 261d5fe399
Decrease target rectpacking density 2024-08-26 14:30:40 +01:00
Jarrod Doyle 42cc08363e
Profile the rectpacking 2024-08-26 14:30:19 +01:00
Jarrod Doyle 20a0796410
Time lightmap building 2024-08-26 14:03:50 +01:00
Jarrod Doyle 326543c0f6
Add timing method that returns a value 2024-08-26 14:03:37 +01:00
Jarrod Doyle e213b3ea26
Add some basic timings 2024-08-26 13:25:06 +01:00
Jarrod Doyle 6e70ad22c1
Add timing function 2024-08-26 13:22:29 +01:00
Jarrod Doyle 413e3bf937
Fix use of obselete methods 2024-08-26 12:40:51 +01:00
Jarrod Doyle 7ec48abda5
Add basic model caching 2024-08-26 12:38:13 +01:00
Jarrod Doyle afb6689683
Update project to Godot 4.3 2024-08-26 11:38:46 +01:00
Jarrod Doyle 1cfbd498c7
Loosely handle campaigns not having an obj folder when trying to get obj texture path 2024-08-25 17:09:59 +01:00
Jarrod Doyle 05e90c1a30
Add jank object texture path gathering 2024-08-25 16:52:21 +01:00
Jarrod Doyle b6a65fc10b
Extract model loading functionality out 2024-08-25 16:47:05 +01:00
Jarrod Doyle e313ca58a7
Merge GetObjectPath implementations 2024-08-25 16:25:12 +01:00
Jarrod Doyle 0d7ff677de
Slightly working support for custom model textures 2024-08-25 16:20:46 +01:00
Jarrod Doyle 2365f09931
Add basic object hierarchy generation and traversal 2024-08-25 15:49:40 +01:00
Jarrod Doyle 501f27a721
Load generic property chunks 2024-08-25 13:56:28 +01:00
Jarrod Doyle 8aa1c7c4bc
Don't render objects marked not rendered 2024-08-25 13:21:55 +01:00
Jarrod Doyle be937d53fc
Add RenderType property support 2024-08-25 13:21:27 +01:00
Jarrod Doyle 2be1bc4352
Add generic prop definition 2024-08-25 13:09:45 +01:00
Jarrod Doyle df923492cf
Make defining property chunks easier 2024-08-25 13:07:49 +01:00
Jarrod Doyle 3b9ff6c852
Jankily read scale in for models 2024-08-25 11:54:33 +01:00
Jarrod Doyle f69a98e880
Let vec3 conversion skip scaling 2024-08-25 11:54:21 +01:00
Jarrod Doyle 505adf5d44
Add scale property support 2024-08-25 11:53:50 +01:00
Jarrod Doyle 655a188a69
Offset any models that aren't centered 2024-08-25 11:22:13 +01:00
Jarrod Doyle ad68c25447
Add world environment with maximum ambient light 2024-08-25 11:21:32 +01:00
Jarrod Doyle 0c0394df86
Handle object rotation 2024-08-25 11:21:00 +01:00
Jarrod Doyle 85599b4069
Merge GetTexturePath implementations 2024-08-25 10:43:17 +01:00
Jarrod Doyle be205897bb
Merge GetMissionNames to handle null campaign 2024-08-25 10:11:55 +01:00
Jarrod Doyle 3270d89b05
Store campaign and mission name on Mission 2024-08-25 10:08:48 +01:00
Jarrod Doyle 659843c743
Merge GetMissionPath to one function 2024-08-25 10:03:52 +01:00
Jarrod Doyle 56a5aa6869
Use C# event for mission selection 2024-08-25 10:01:43 +01:00
Jarrod Doyle 1c3c4cacb4
Fix incorrect path search for OMs 2024-08-25 09:49:27 +01:00
Jarrod Doyle 68f2a851f4
path manager now returns alphabetically sorted lists 2024-08-25 09:21:55 +01:00
Jarrod Doyle 3d41441f2a
Use path manager for mission selector 2024-08-25 09:15:42 +01:00
Jarrod Doyle cb2f016455
We're actually rendering models in the mission now (badly) 2024-08-24 17:36:32 +01:00
Jarrod Doyle de4f3d6381
Add some safety to object path requests 2024-08-24 17:36:12 +01:00
Jarrod Doyle 9fd76815a2
Use new resource manager in mission and textureloader 2024-08-24 17:10:08 +01:00
Jarrod Doyle 62ff5306fe
Add more thorough path manager 2024-08-24 17:09:27 +01:00
Jarrod Doyle c48eb018f5
Merge model related chunks from gam file 2024-08-24 13:37:21 +01:00
Jarrod Doyle db293791e0
Handle GAM_FILE chunk 2024-08-24 13:36:44 +01:00
Jarrod Doyle acc3add512
Super scuffed initial object model detection 2024-08-24 11:33:55 +01:00
Jarrod Doyle 0eb918d863
Add Links, ModelName props, and MetaProp LD loading 2024-08-24 11:33:35 +01:00
Jarrod Doyle b9172df8c3
Place white cubes at object brush positions 2024-08-23 18:55:39 +01:00
Jarrod Doyle f118c151f3
Add initial brush list support 2024-08-23 18:55:20 +01:00
Jarrod Doyle eaf20f7f4a
Merge model faces that share a material 2024-08-18 14:01:43 +01:00
Jarrod Doyle dbabe1527c
Sort selector lists alphabetically 2024-08-18 14:01:09 +01:00
Jarrod Doyle 6db4d75a37
Properly create and apply color based model materials 2024-08-18 12:37:03 +01:00
Jarrod Doyle 20cf0f7292
Really bad awful model texturing 2024-08-18 11:14:30 +01:00
Jarrod Doyle 5aafab148b
Better logging and handling of failed model file loading 2024-08-18 11:14:07 +01:00
Jarrod Doyle 30db43eac8
Make MeshSurfaceData more generic 2024-08-18 11:13:18 +01:00
Jarrod Doyle 2db83a827e
Add fullbright ambient light level 2024-08-18 11:12:47 +01:00
Jarrod Doyle 6340a4c545
Fix incorrect light and uv indices on model materials 2024-08-18 11:08:42 +01:00
Jarrod Doyle 8a22defe17
Add basic model material texture output 2024-08-18 10:34:17 +01:00
Jarrod Doyle d9a54b65d5
Add GIF support for terrain textures 2024-08-18 10:28:22 +01:00
Jarrod Doyle 66c324be53
Add .GIF image loading using ImageSharp 2024-08-18 10:27:44 +01:00
Jarrod Doyle 2c9958a64a
Add model material parsing 2024-08-18 10:23:31 +01:00
Jarrod Doyle b5d3a3c275
Add initial basic .BIN model support 2024-08-17 20:53:16 +01:00
Jarrod Doyle b12070f982
Add ReadVec2 utility function 2024-08-17 20:52:41 +01:00
Jarrod Doyle 742324765f
Remove old unused function 2024-08-17 19:00:04 +01:00