w23 / opensource Goto Github PK
View Code? Open in Web Editor NEWLoad Source games maps as combined meshes correctly positioned relative to each other
License: Do What The F*ck You Want To Public License
Load Source games maps as combined meshes correctly positioned relative to each other
License: Do What The F*ck You Want To Public License
reverse-engineer lightmaps
The entire Half-Life 2 mesh is like 5fps on AMD Radeon FURY X. This is unacceptable.
Things to try in no particular order:
Currently for development vpk files contents are mounted using vpk_fuse. This is not cool. I cannot release like this.
This might come in handy.
Also, collisions to make it more "playable".
Some textures are visually missing, although loading log reports no missing materials or textures. Primary hypothesis is that I'm missing something important from Patch materials, because their supports is a hack even compared to other materials support.
There's like 30% occupied and everything else is a void. Size guesser overestimate.
Portal 2 doesn't use neither named landmarks nor changelevel triggers with explicit next map name.
Instead, being completely linear, it uses global ordered map list with each map having info_landmark_entry
and info_landmark_exit
entities to stitch consecutive maps.
The ability to save a high-resolution top-down image of the entire loaded world would be very cool, the output would look something like these:
http://www.nextdimension.org/bmrf/Black_Mesa_Research_Facility_HL_Map.jpg
It doesn't seem to use landmark entities like other games do.
GL_CLAMP_TO_EDGE doesn't help.
Valve wiki suggests that it's a DXT issue (?).
I don't mean coplanar surfaces from different maps.
Should either tweak z-buffer params, or completely change z buffer approach to something less naive and more contemporary.
There are a lot of materials that aren't found on loading. I expect that these are stored within bsp files themselves.
Pakfile lumps are zipped or something, so will have to figure that out too.
It is trivial to do, but still somewhat time-consuming.
if there are more than one map present as a parameter, link only specified maps, ignoring everything else
Figure out what's the deal with Portal 2 map positions and landmarks. Reading _entry _exit doesn't lead to continuous maps for some reason.
Apparently, there's a recommended optimization: cut half of the skybox texture and visibly shrink the remainder (bottom half of skybox texture is invisible usually), see https://developer.valvesoftware.com/wiki/HDR_Skybox_Creation#Creating_PFMs
Fixing this requires $basetexturetransform
support, see https://developer.valvesoftware.com/wiki/$basetexturetransform
That way no retarded pre-extraction of files would be needed
Some textures look corrupted. Don't know why.
I mess up DXT reading?
I mess up calculating VTF offsets for DXT data?
А то молочные реки, кисельные берега какие-то.
Portal 2 uses that. For some reason. I have no idea. Every other game uses VPK2.
I have an idea how to remove the skybox areas.
First, find the leaf in which info_player_start's "eyes" are placed. Push this leaf to the stack.
Then, until the stack is empty, repeat:
Then, make a mesh containing only polygons from the marked leaves.
What do you think?
У меня есть идея, как убрать скайбоксы.
Сначала, найди тот лист, в котором находятся "глаза" info_player_start'а. Положи его на стек.
Затем, пока стек не стал пустым, выполняй следующие действия:
Потом, сделай меш, содержащий только полигоны из отмеченных листьев.
Как тебе идея?
Allow specifying memory limits at run time
The code doesn't build in VS2017 on Windows 10 Home. This is quite odd, the project should have been easy to migrate.
the include paths are not set up right (so it cant find the headers), and app_windows.c/.h are missing.
I can't wait to get this working though!
src/bsp.c:263: Error: no visible faces found
src/bsp.c:646: Error: bspLoadModelPreloadFaces() => BSPLoadResult_ErrorFileFormat
src/bsp.c:912: Error: bspLoadModel() => BSPLoadResult_ErrorFileFormat
src/OpenSource.c:275: Cannot load map "d1_eli_01": 2
limit is somewhere between 30-50 maps
what could be done:
To achieve that one would need to parse *.dem files, extract player positions and play them.
Some sad facts:
O(N) is too slow
Atto doesn't have proper support for macOS yet. Do it.
Allocating oddly sized strings on Stack breaks alignment. This explodes on ARM.
Blend skyboxes of two maps closest to the camera
Probably limited to this:
In map d3_citadel_05
Apparently skyboxes are materials. And it is purely accidental that their textures can be loaded directly by concatenating bk.vtf or alike to material name.
This material is different. Need to load its material properly
Later Valve games like Episode One have larger part of maps made out of models rather than bsp geometry. Without models these maps look unnatural and empty.
Valve wiki confused me by showing skyboxes from outside, rather than inside.
https://youtu.be/2Uaft9KNkm0?t=1h46m39s
I have seen this as a mesa bug previously. But most likely this is an issue with wrong indexes or vbo.
There are people who want to run this on their machines.
Figure out how best to make release binaries for this project for at least Windows.
should really consider into parsing bsp data and retrieving the complete main tree, and nothing else
Load one map per frame. Don't make user wait ALMOST 4 SECONDS to load the entire HL2 world.
Current orange-brown background color is sad.
Will need to have a mechanism for ignoring/fixing those.
This is so old!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.