Repository navigation
Releases: whiskydumb/halfcraft
Releases · whiskydumb/halfcraft
Release list
HalfCraft 0.6.0-dev.5+1b18809c4
HalfCraft 0.6.0-dev.5+1b18809c4, built from 1b18809.
Changes since v0.5.0:
- fix: make tidy accepts the message hook reading its MSG out of an LPARAM, which is how windows hands it over (1b18809)
- feat: half-life's close captions go to minecraft while its hud is up: speech into its chat as ' line' in the speaker's colour, the server naming who says it, sounds into its subtitles, and minecraft's show subtitles option turns them on (kStrCaption, kMcSubtitles) (fixes #26) (2cc8cd1)
- feat: half-life's key hints and pickup history show as minecraft toasts while its hud is up: hints name minecraft's keys from its own bindings and source's own by their physical key, pickups stack ammo per type (kStrHint, kStrPickup) (refs #26) (f268afa)
- fix: a half-life weapon moved through the creative inventory stays where it's put down: the server follows the creative cursor it never sees from the slots the creative inventory sets, instead of putting the weapon back and taking the copy on the hotbar (fixes #30) (0995e39)
- fix: minecraft's text fields get what windows types for the player's keyboard layout (WM_CHAR through a unicode message hook) instead of us qwerty characters made up from keys (refs #31) (82053cc)
HalfCraft 0.5.0
HalfCraft 0.5.0, built from 1400750.
Changes since v0.4.0:
- fix: minecraft screens show the cursor and accept v and paste, while v respects its source binding outside UI (1400750)
- chore: the stale puppet-group note on hostState goes (24141e9)
- feat: minecraft reads and writes the structs it handles whole through ProtoStructs.java, generated from protocol/schema like Proto.java, so a new field is the schema, half-life's writer and where minecraft uses it (1aecef2)
- fix: the debug tools read the link through protocol/schema, and dump_collision and probe_feet read the collision ring again once it has wrapped (305c9b1)
- feat: the shared memory layout lives in protocol/schema, a toml file per region; make proto writes halfcraft_protocol.h and Proto.java from it, make lint and ci check they're current, and a hash of the layout replaces kVersion (d8a54d1)
HalfCraft 0.4.0
HalfCraft 0.4.0, built from 0dfa371.
Changes since v0.3.0:
- fix: minecraft reads its overlay back from cached memory, draws it at half the screen where its hud keeps its size (hc_overlay_scale), sleeps until half-life's next frame, and F3 shows the readback (fixes #19) (0dfa371)
- fix: half-life starts with -insecure from make run and HalfCraft.exe: no vac for a game with its own client.dll and server.dll (92749b5)
- feat: pets that follow and what the player leads come along when half-life moves the player to another map (1c724ec)
- fix: make tidy reads msvc's intrinsics headers like visual studio's clang-tidy does, so the pip wheel's in ci parses ssemath.h too (3bd00d7)
- chore: tools split into build, game, lint, debug and assets; ruff formats and lints all the python, make format and make lint run it, and ci checks it (acb1088)
- chore: setup_sdk and ci's pinned downloads move to python, the sdk pins live in tools/halfcraft/sdk.py; no powershell scripts left (64689ef)
- chore: run_hl2, hl2_command, wait_log, test_session and collision_check move to python, engines.ps1 goes; script output is utf-8 (e2b6aa7)
- chore: build_hl2 and package move to python with the game folder layout (tools/halfcraft/game_folder.py), layouts byte for byte as before (79e95ac)
- chore: version, gradle, format and update_patches move to python on a shared tools/halfcraft package, ci pins python 3.13.15, launch_minecraft.bat goes (make mc-run) (986145b)
- chore: format the java with eclipse's formatter through spotless: make format and make lint run it, and ci checks it (4c59d83)
- chore: clang-tidy 22 over halfcraft's c++ on both engines: make tidy, and a step in ci (9a7fdb0)
- refactor: clean up what clang-tidy flags in halfcraft's c++, behaviour unchanged (7c8322b)
- chore: pin loom to 1.18.3 instead of the 1.18 snapshot (5d8c62e)
- fix: the link's rings resync when their indices disagree, and minecraft sends its world or half-life its collision again after losing messages (3b9e075)
- fix: minecraft's lights on screen get the shadowed point lights first and fade in and out as they change hands; the light that gets past walls reaches only 4 blocks (34f6468)
HalfCraft 0.3.0
HalfCraft 0.3.0, built from 4a4a98b.
Changes since v0.2.0:
- fix: read_dump.py unwinds 64-bit dumps past the first frame, from the modules' own function tables (4a4a98b)
- fix: d3_c17_11 no longer crashes on hl2dm when the dropship spawns the strider it carries before its own model (09b35d6)
- fix: water and lava fall past half-life's walls and flow up to them instead of hanging beside them (88e358f)
- fix: a new game clears what the last playthrough left in each chunk of its maps, mobs but pets too, the first time the chunk loads (a649a81)
HalfCraft 0.2.0
HalfCraft 0.2.0, built from 650e171.
Changes since v0.1.0:
- refactor: server.dll looks up client.dll's input push in one place (650e171)
- feat: mobs and dropped items off the player's water grid get water probes too, so they swim and float in far canals (89be5ff)
- feat: the gravity gun tears minecraft's blocks out as physics cubes that turn back into blocks where they come to rest, or drop as items without room (6034328)
- feat: a new game from the menu starts a playthrough that clears each map's minecraft builds the first time it enters it, and heals and feeds the player (faa119f)
- feat: half-life's blasts break minecraft's blocks the way tnt does, and its bullets break glass, panes and ice (18709da)
HalfCraft 0.1.0
HalfCraft 0.1.0, built from 57d29c8.
Changes since the beginning:
- ci: gradle runs without its daemon, so its locks no longer stop the cache from saving (57d29c8)
- ci: github actions check every push (clang-format, the mod's tests, both engines, the zip) and publish main's dev build and tagged releases (8065c8b)
- build: halfcraft's version comes from git tags (0.2.0-dev.N+commit after v0.1.0), and the sdk commits and gradle's distribution are pinned by full hashes (ecbf482)
- style: format halfcraft's c++ with clang-format (edac467)
- build: make format and make lint (clang-format for halfcraft's c++), and a warning in halfcraft's own c++ or java fails the build (a881651)
- fix: a pearl or an arrow falling out of the bottom of half-life's collision waits there while half-life streams the ground under it, instead of landing in mid-air (9f232e5)
- feat: hc_debug_voxels checks minecraft's collision voxels around the player against source's own collision (9344d85)
- fix: half-life's roofs stop a beacon's beam while its sky doesn't: the map's skybox brushes stream as sky, so undead burn under it too (b876958)
- fix: q and f in an inventory screen leave half-life's weapons where they are, and the server's copy of the player stands on half-life's ground, so falls onto it hurt again (f50f2e5)
- fix: half-life's weapons stay away while a player_speedmod keeps them away, and minecraft's hand follows half-life when the weapon out runs dry (2aa19f0)
- fix: minecraft's screenshot key works while half-life moves the player (vehicles, ladders, rides) (b7b37e2)
- feat: minecraft's debug screen shows the height of the map's block grid next to its slot (0f25c63)
- refactor: skycraft's leftover sky names for half-life's state are host now (d67a043)
- refactor: half-life's weapon names come from the language file instead of the code (015dc24)
- feat: half-life's floors sound their own footsteps under minecraft's player, and player_speedmod slows minecraft's walking too (fixes #27) (9d446e1)
- fix: half-life's one-off shoves (a trigger_push that pushes once, an antlion guard, a cop's stunstick) reach minecraft's player as momentum (fixes #21) (e6accea)
- fix: a short ender pearl hop is no longer put back: source says itself when it refuses one of minecraft's jumps, instead of the client guessing from where it draws the player (f421034)
- fix: boats go onto half-life's water from the hand and from a dispenser (acf2b58)
- fix: minecraft's body shows and sits in f5 on ladders and in vehicles, half-life's view follows minecraft's in a bed, pearls that hit a ceiling, ledge or wall land next to it, and boats wait for half-life's water (fixes #20, fixes #22, fixes #23, fixes #25) (973c482)
- fix: half-life 2, episode one and lost coast get episode one's knockout rig, so d1_trainstation_04's wake-up no longer freezes the player and lost coast's intro gets up again (d14f061)
- fix: items and boats hold still while half-life's ground streams back after a load, and chorus fruit and pearls under a low ceiling land ducked (1958480)
- fix: every tick of half-life's burning reaches minecraft, and /kill on half-life's stand-ins no longer sends physics props to nan (a89a683)
- fix: f5 reaches minecraft on ladders, rides and in vehicles, and moves the airboat's view back like minecraft's camera (9ec4892)
- fix: minecraft water on half-life's slopes is one surface instead of separate tiles, and the player's own potion swirls no longer fill the view (49d6c2f)
- feat: crouching is half-life's duck in its maps: source's ducked hull, half-life's ceilings keep the player down, and crouching in the air pulls the legs up (dac5587)
- feat: play lost coast as chapter 27, with its fisherman's scenes and an intro that lets the player go (fixes #15) (1567b0b)
- fix: an npc dying or hurt next to minecraft's block lights no longer crashes half-life: their projected textures light the world and characters get elights (fixes #11) (75707ed)
- fix: mobs and items stand on half-life's floors, collision streams 64 blocks out and projectiles drop at its edge, boats float and fish bite on half-life's water with the line drawn, and f1 hides the block outline (refs #11) (f9f79b1)
- fix: half-life's blasts, burns and crushes reach minecraft as armour- and shield-aware damage, minecraft's explosions respect half-life's walls and scripted breakables, and drowning counts once (refs #11) (8bf5f38)
- fix: minecraft's own teleports land in half-life, its player rides lifts and keeps fighting while source holds it, and half-life's ground and pushes reach minecraft's player (fixes #18) (31c88d2)
- feat: half-life's weapons as minecraft hotbar items, with source's inventory in charge (fixes #12) (f97eb51)
- feat: show half-life's map, chapter, position, fps, crosshair target and link state on minecraft's f3 screen (fixes #7) (2ab9379)
- feat: minecraft's screenshot key saves half-life's finished frame as a minecraft screenshot (fixes #6) (16f9673)
- feat: minecraft's mobs path over half-life's maps and fight its npcs through stand-ins (fixes #13) (233f4a4)
- feat: shift the block grid per map onto its most common floor so blocks sit flush on it (fixes #8) (25d8770)
- feat: add a test harness for minecraft's mechanics: hc_mc, hc_key, hc_hold, a separate test world and save backups (refs #11) (570b7e5)
- feat: protocol v3 with a host session id, a string channel and room for screenshots, the debug screen, weapons and mobs (ecc4c3c)
- feat: play half-life 2's episodes in the same game on both engines (fixes #9) (2229d12)
- feat: run on half-life 2's own engine as well as hl2:dm's, with a makefile over the scripts (fixes #3) (98fcdb3)
- docs: add gameplay screenshoot (b8a4876)
- perf: tile minecraft's hud overlay and upload only the tiles that changed (3ded367)
- fix: measure block lights' falloff on world brushes from the light, not the camera (fixes #5) (6c199fb)
- fix: stop block lights going black, texture flowing fluids and keep the link in step across restarts (fixes #1) (92464bd)
- feat: make minecraft's torches shadow-casting lights in half-life (fixes #1) (ef8289c)
- fix: sink blocks into half-life floors instead of floating above them (fixes #2) (1dad35b)
- feat: one-click release with a launcher that starts minecraft and half-life (b04878b)
- feat: roll minecraft's world and player back when half-life loads a save (80623b4)
- initial commit (e221869)