fwgs / hlsdk-portable Goto Github PK
View Code? Open in Web Editor NEWPortable Half-Life SDK. GoldSource and Xash3D. Crossplatform.
Home Page: https://xash.su
License: Other
Portable Half-Life SDK. GoldSource and Xash3D. Crossplatform.
Home Page: https://xash.su
License: Other
Related: MoeMod/CSMoE#64 switchports/xash3d-switch#11
Title says it all. I tried to use readme but it's not very helpful and mittron is no longer on discord server
Not sure if this is an issue or simply the case of excessive debug logging.
When running bshift (on bshift
or mobile_hacks
branch), the following is logged:
[10:11:41] UTIL_FindEntityInMap: expected {
This is logged from here:
The values in there are:
name
is trigger_camera
.token
is some binary data.This repository already contains a lot of fixes if you compare it to 2.3 sdk but as you may know,
sometimes when you next a wall and turned ur face a hev charging sound can be heard
In the original Half-Life: Visitors, there are additional effects that occur when firing at brushes with specific textures.
These effects include, but might not be limited to:
In the crossplatform release of Half-Life: Visitors, these effects are missing.
sv_cheats 1
map vis24
impulse 101
3 - Expected behavior: Concrete particles should spawn randomly at the hit location.
Actual behavior: No concrete particles spawn.
4 - Expected behavior: Smoke should spawn at the hit location.
Actual behavior: No smoke spawns.
Additionally, shooting with the following weapons also casts these effects in the original mod release:
Consider making Blue Shift branch (and probably for other mods) like you did in halflife repo. But first maybe it makes sense to wait for nekonomicon changes to be merged.
Camera looks at player from the right side instead of looking from behind.
Btw the same bug exists in original HL on goldsource.
Cthulhu cannot be compiled. It breaks when it tries to include header from /dlls/weapons.h, revolver.h
When I copied all content from /dlls/cthulhu/ to /dlls/ it fails then on missing bmodels.h included in bmodels.cpp
In the original The Gate, attack dogs throw human gibs when killed.
In the crossplatform release of The Gate, attack dogs throw alien gibs.
A custom level gib_dog.zip is provided to allow for easier testing and debugging. It includes an attack dog and a knife at player spawn.
map gib_dog
Expected behavior: Monster should throw human gibs when killed.
Actual behavior: Monster throws alien gibs when killed.
The methods HasHumanGibs and HasAlienGibs return whether or not a monster should emit human/alien gibs. The original mod behavior is probably one of the following cases:
A) The class CHoundeye implements HasHumanGibs
BOOL CHoundeye::HasHumanGibs( void )
{
return TRUE;
}
B) There should probably be a check for CLASS_ALIEN_MONSTER in the if statement below.
In the crossplatform release of Azure sheep, the map asmap02d crashes upon loading due to missing model.
In the console, type the following commands:
map asmap02d
Expected behavior: The map should load as in the original mod.
Actual behavior: An error message occurs:
Mod_NumForName: models/gordon.mdl not found
Below, I believe the model name would need to be changed to models/freeman.mdl.
On autoload when player is dead(fixed in 932d269):
==10158== Invalid read of size 4
==10158== at 0x1823B2E2: CWorld::Precache() (world.cpp:631)
==10158== by 0x18195AE5: DispatchRestore(edict_s*, saverestore_s*, int) (cbase.cpp:379)
==10158== by 0xEDB9B5B: SV_LoadGameState (sv_save.c:1636)
==10158== by 0xEF0EEB2: SV_LevelInit (sv_init.c:440)
==10158== by 0xEF137A2: SV_NewGame (sv_init.c:775)
==10158== by 0xE6FD402: Host_NewGame (host.c:125)
==10158== by 0xEDC1B00: SV_LoadGame (sv_save.c:2180)
==10158== by 0xEF666F8: SV_Load_f (sv_cmds.c:399)
==10158== by 0xE6775F7: Cmd_ExecuteString (cmd.c:965)
==10158== by 0xE67633C: Cbuf_Execute (cmd.c:217)
==10158== by 0xE74F079: Host_InputFrame (input.c:801)
==10158== by 0xE701470: Host_Frame (host.c:611)
==10158== Address 0xbfbfc1b7 is not stack'd, malloc'd or (recently) free'd
==10158==
==10158== Invalid read of size 4
==10158== at 0x709AF41: ??? (in /usr/lib32/libthr.so.3)
==10158== by 0x709A2EA: ??? (in /usr/lib32/libthr.so.3)
==10158== by 0x38073939: ??? (in /usr/local/lib/valgrind/memcheck-x86-freebsd)
==10158== by 0x18195AE5: DispatchRestore(edict_s*, saverestore_s*, int) (cbase.cpp:379)
==10158== by 0xEDB9B5B: SV_LoadGameState (sv_save.c:1636)
==10158== by 0xEF0EEB2: SV_LevelInit (sv_init.c:440)
==10158== by 0xEF137A2: SV_NewGame (sv_init.c:775)
==10158== by 0xE6FD402: Host_NewGame (host.c:125)
==10158== by 0xEDC1B00: SV_LoadGame (sv_save.c:2180)
==10158== by 0xEF666F8: SV_Load_f (sv_cmds.c:399)
==10158== by 0xE6775F7: Cmd_ExecuteString (cmd.c:965)
==10158== by 0xE67633C: Cbuf_Execute (cmd.c:217)
==10158== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==10158==
==10158==
==10158== Process terminating with default action of signal 11 (SIGSEGV): dumping core
Singleplayer on amd64:
==11931== Source and destination overlap in memcpy(0x14ab3b38, 0x14ab3b38, 48)
==11931== at 0x4C280AC: memcpy (in /usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==11931== by 0x12C096CD: CStudioModelRenderer::StudioDrawModel(int) (StudioModelRenderer.cpp:1163)
==11931== by 0x12BF0400: R_StudioDrawModel(int) (GameStudioModelRenderer.cpp:73)
==11931== by 0x6463845: R_DrawStudioModelInternal (gl_studio.c:3271)
==11931== by 0x6464586: R_DrawStudioModel (gl_studio.c:3302)
==11931== by 0x648DC9B: R_DrawEntitiesOnList (gl_rmain.c:1113)
==11931== by 0x648E022: R_RenderScene (gl_rmain.c:1218)
==11931== by 0x648F0B4: R_RenderFrame (gl_rmain.c:1330)
==11931== by 0x6481780: V_CalcRefDef (cl_view.c:307)
==11931== by 0x6481893: V_RenderView (cl_view.c:340)
==11931== by 0x6482AFF: SCR_UpdateScreen (cl_scrn.c:476)
==11931== by 0x64D95AB: Host_ClientFrame (cl_main.c:1808)
==11931==
==11931== Invalid read of size 4
==11931== at 0x13FAB148: CGraph::FindNearestNode(Vector const&, int) (nodes.cpp:934)
==11931== by 0x13F9B790: CBaseMonster::FGetNodeRoute(Vector) (monsters.cpp:2770)
==11931== by 0x13F9B712: CBaseMonster::BuildRoute(Vector const&, int, CBaseEntity*) (monsters.cpp:1582)
==11931== by 0x13F9D9F8: CBaseMonster::Move(float) (monsters.cpp:1913)
==11931== by 0x64F8A26: SV_RunThink (sv_phys.c:205)
==11931== by 0x64FD797: SV_Physics_Step (sv_phys.c:1655)
==11931== by 0x64FDC74: SV_Physics_Entity (sv_phys.c:1712)
==11931== by 0x64FD897: SV_Physics (sv_phys.c:1765)
==11931== by 0x64EE92B: SV_RunGameFrame (sv_main.c:589)
==11931== by 0x64EE9B4: Host_ServerFrame (sv_main.c:630)
==11931== by 0x6599B79: Host_Frame (host.c:615)
==11931== by 0x659B262: Host_Main (host.c:1121)
==11931== Address 0x10 is not stack'd, malloc'd or (recently) free'd
==11931==
==11931== Syscall param sigprocmask(set) points to uninitialised byte(s)
==11931== at 0x52043FA: _sigprocmask (in /lib/libc.so.7)
==11931== by 0x5B0ADB4: ??? (in /lib/libthr.so.3)
==11931== by 0x5B0A3AE: ??? (in /lib/libthr.so.3)
==11931== by 0x38074467: ??? (in /usr/local/lib/valgrind/memcheck-amd64-freebsd)
==11931== by 0x13F9B790: CBaseMonster::FGetNodeRoute(Vector) (monsters.cpp:2770)
==11931== by 0x13F9B712: CBaseMonster::BuildRoute(Vector const&, int, CBaseEntity*) (monsters.cpp:1582)
==11931== by 0x13F9D9F8: CBaseMonster::Move(float) (monsters.cpp:1913)
==11931== by 0x64F8A26: SV_RunThink (sv_phys.c:205)
==11931== by 0x64FD797: SV_Physics_Step (sv_phys.c:1655)
==11931== by 0x64FDC74: SV_Physics_Entity (sv_phys.c:1712)
==11931== by 0x64FD897: SV_Physics (sv_phys.c:1765)
==11931== by 0x64EE92B: SV_RunGameFrame (sv_main.c:589)
==11931== Address 0x7fefff2fc is on thread 1's stack
==11931== Uninitialised value was created by a stack allocation
==11931== at 0x644D87C: ??? (in /usr/local/lib/xash3d/libxash.so)
==11931==
Sys_Crash: signal 11, err 0 with code 1 at 0x10
I'm suggesting removal of Android.mk or moving it somewhere, pointing out that it's not supported anymore, nor by us, nor by NDK developers.
At this time, we have alternatives, that are actively used in hlsdk-xash3d development:
Pros:
Cons:
Pros:
Cons:
However, I don't want to rush anyone and I can't call myself a maintainer of hlsdk-xash3d, so I can't decide for everyone here.
Casting everyone who develop their mods on hlsdk-xash3d. :)
@mittorn @nekonomicon @FreeSlave @AimlessWanderer @DrBeef @nillerusr
Upd: formatting
When door starts to return to its initial position the stop sound plays repeatedly.
The stop sound should play once when the door reaches its initial position or the final destination of the whole move.
You can see a bug on maps c2a3a and c2a5 (underwater doors).
In the original They Hunger, the egon 'flamethrower' does not play any sound during holster.
In the crossplatform release of They Hunger, the runoff sound is played during holster.
sv_cheats 1
map t0a0
impulse 101
Expected behavior: No runoff sound is played.
Actual behavior: Runoff sound is played.
It might be possible that the two lines of code were removed/commented in the original source code.
Add support of HUD margins, like Half-Life on PS1.
Most of the Half-Life weapons display a weapon pickup icon when they are picked up for the first time.
In the original They Hunger, the chaingun weapon displays a pickup icon.
In the crossplatform release of They Hunger, the chaingun weapon does not display the pickup icon.
In the console, type the following commands:
sv_cheats 1
map t0a0
give item_suit
give weapon_th_chaingun
Expected behavior: Chaingun weapon pickup icon shows up
Actual behavior: No weapon pickup icon is displayed
Again, I am not knowledgeable about reverse engineering, but the missing behavior would probably have the following form in code:
int CWeaponEinarChaingun::AddToPlayer( CBasePlayer *pPlayer )
{
if( CBasePlayerWeapon::AddToPlayer( pPlayer ) )
{
MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev );
WRITE_BYTE( m_iId );
MESSAGE_END();
return TRUE;
}
return FALSE;
}
In the crossplatform release of The Gate, the map gate18 fails to load.
In the console, type the following commands:
map gate18
Expected behavior: The map should load as in the original mod.
Actual behavior: The game goes back to the menu and a message is displayed in the console:
PF_precache_model_I: Model 'sprites/yelflare1.spr' failed to precache because the item count is over the 512 limit.
Reduce the number of brush models and/or regular models in the map to correct this.
Most of the Half-Life weapons display a weapon pickup icon when they are picked up for the first time.
In the original They Hunger, the medkit weapon displays a pickup icon.
In the crossplatform release of They Hunger, the medkit weapon does not display the pickup icon.
In the console, type the following commands:
sv_cheats 1
map t0a0
give item_suit
give weapon_th_medkit
Expected behavior: Medkit weapon pickup icon shows up
Actual behavior: No weapon pickup icon is displayed
The missing behavior would probably have the following form in code:
int CWeaponEinarMedkit::AddToPlayer( CBasePlayer *pPlayer )
{
if( CBasePlayerWeapon::AddToPlayer( pPlayer ) )
{
MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev );
WRITE_BYTE( m_iId );
MESSAGE_END();
return TRUE;
}
return FALSE;
}
357 python will have zoomed crosshair.
Привет. Скидываю исправленный makefont.
makefont.zip
How to build half life sdk for android i want to add new weapons for xash 3d apk plz ?
Program received signal SIGSEGV, Segmentation fault.
0xf7cad86b in CFuncTank::TrackTarget (this=this@entry=0x90a22f8) at func_tank.cpp:487
The reason is m_pController->pev becomes null:
(gdb) print m_pController->pev
$1 = (entvars_t *) 0x0
I'm not sure how to reproduce it though. It just happens sometimes on my dedicated server.
In the original The Gate, no HUD scope texture is displayed when zooming with the sniper rifle.
In the crossplatform release of The Gate, the sniper rifle displays a scope texture when zoomed in.
sv_cheats 1
map t0a0
give weapon_crossbow
Expected behavior: No HUD scope texture.
Actual behavior: A HUD scope texture is displayed.
I used cmake and generated the files. Afterwards, I tried to compile the solution. It failed giving me some errors and warnings (P.S Sorry for the mess xP):
Error 1 error D8021: invalid numeric argument '/Wno-write-strings' D:\XASHSDLPROJECT\Source Codes\hlsdk-xash3d-master\project-files\cl_dll\cl client
Warning 2 warning D9025: overriding '/W3' with '/w' D:\XASHSDLPROJECT\Source Codes\hlsdk-xash3d-master\project-files\dlls\cl server
Warning 3 warning D9002: ignoring unknown option '-fno-exceptions' D:\XASHSDLPROJECT\Source Codes\hlsdk-xash3d-master\project-files\dlls\cl server
Error 4 error C2276: '&' : illegal operation on bound member function expression D:\XASHSDLPROJECT\Source Codes\hlsdk-xash3d-master\dlls\effects.cpp 413 1 server
Error 5 error C3083: '{ctor}': the symbol to the left of a '::' must be a type D:\XASHSDLPROJECT\Source Codes\hlsdk-xash3d-master\dlls\effects.cpp 1270 1 server
If player disconnects from dedicated server while using tank and then connects again, func_tank still tries to copy player's camera movements even when player does not use it.
When I load certain maps (for example, bounce.bsp
), using the game libraries built from this repo with the Xash3D engine, the game crashes when executing the code in the LINK_ENTITY_TO_CLASS
macro for CWorld
.
The exact crash I get is in the client's cbase.h:222
when executing operator new
: the ALLOC_PRIVATE()
macro that resolves to (*g_engfuncs.pfnPvAllocEntPrivateData)
fails, because the g_engfuncs
struct in the client is completely zeroed. As far as I can see, g_engfuncs
isn't referred to from anything within the client library, so I'm a bit confused as to how the system is supposed to work.
The exact details of the crash are as follows:
Exception has occurred.
EXC_BAD_ACCESS (code=1, address=0x0)
[Unknown/Just-In-Time compiled code] (Unknown Source:0)
client.dylib!CBaseEntity::operator new(unsigned long, entvars_s*) (/Users/vesper/Desktop/hlsdk-xash3d/dlls/cbase.h:224)
hl.dylib!CWorld* GetClassPtr<CWorld>(CWorld*) (/Users/vesper/Desktop/hlsdk-xash3d/dlls/cbase.h:734)
hl.dylib!::worldspawn(entvars_t *) (/Users/vesper/Desktop/hlsdk-xash3d/dlls/world.cpp:446)
libxash.dylib!SV_AllocPrivateData (/Users/vesper/Desktop/xash3d/engine/server/sv_game.c:984)
libxash.dylib!SV_ParseEdict (/Users/vesper/Desktop/xash3d/engine/server/sv_game.c:4980)
libxash.dylib!SV_LoadFromFile (/Users/vesper/Desktop/xash3d/engine/server/sv_game.c:5071)
libxash.dylib!SV_SpawnEntities (/Users/vesper/Desktop/xash3d/engine/server/sv_game.c:5141)
libxash.dylib!SV_LevelInit (/Users/vesper/Desktop/xash3d/engine/server/sv_init.c:474)
libxash.dylib!SV_Map_f (/Users/vesper/Desktop/xash3d/engine/server/sv_cmds.c:279)
libxash.dylib!Cmd_ExecuteString (/Users/vesper/Desktop/xash3d/engine/common/cmd.c:1082)
libxash.dylib!Cbuf_Execute (/Users/vesper/Desktop/xash3d/engine/common/cmd.c:359)
libxash.dylib!Host_Main (/Users/vesper/Desktop/xash3d/engine/common/host.c:1374)
xash3d!Sys_Start (/Users/vesper/Desktop/xash3d/game_launch/xash.c:161)
xash3d!main (/Users/vesper/Desktop/xash3d/game_launch/xash.c:173)
libdyld.dylib!start (Unknown Source:0)
[Unknown/Just-In-Time compiled code] (Unknown Source:0)
This crash can be reproduced by taking the current master branches for the xash3d
and hlsdk-xash3d
repos and following these steps:
In the xash3d clone:
export CFLAGS="-m32"
export CXXFLAGS="-m32"
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Debug -DXASH_VGUI=off ..
make -j8
In the hlsdk-xash3d clone:
export CFLAGS="-m32"
export CXXFLAGS="-m32"
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j8
Copy relevant xash3d libraries into the same folder as the xash3d executable
Copy the valve folder from the Mac version of Half Life into this folder
Replace the default .dylibs with those built from the hlsdk-xash3d clone
Run:
export DYLD_LIBRARY_PATH=.
./xash3d -dev 5 -toconsole +map bounce
Add travis-ci and appveyor like you did for main xash3d repo.
A few months ago, I found the open source mods list and I saw that some mods have been reverse engineered.
Please note that I am not too knowledgeable with reverse engineering, but from my understanding, source code has likely been rewritten by using information from decompiled/disassembled DLLs. Because this reproduces almost if not exactly the experience of the original mods, I have been lately thinking of archiving my HL1 Steampipe patches - precisely the ones for which the original mod has been reverse engineered and has been made cross platform (see ModDB).
Here is the list of reverse engineered mods that have a cross platform release, and for which I had made a Steampipe patch:
Please would it be possible to confirm if all mods listed above have been 100% reverse engineered?
Can't move camera with mouse on default cmake build.
In the original Half-Life: Visitors, the player's death is seen from a 'third person' perspective using a view slightly offset above the player, and slowly rotating.
It is still possible to have the player dead and remain in 1st person. This is done via the 'kill' command in the console. When dead in 1st person, the view rotates normally as in the original Half-Life.
In the crossplatform release of Half-Life: Visitors, when dead in 1st person, the view always remains fixed and the player is unable to look around.
map t0a0
kill
Expected behavior: View should rotate freely.
Actual behavior: View remains fixed and the player is unable to look around.
Using hlsdk-xash3d client with goldsource leads to the bug when screen is black on level loading. It's rendered after I enter menu (by ESC), but after I return to the game again, it does not update the frame.
Im not sure if this problem is with my device because i know echoes need atleast 2gb of ram, but in some areas where my fps tends to drop because alot of details/enemies/ on screen but when i quick-save in those areas the games crashes but the quick-save is there
In the initial train ride of blue shift, it stops after about one minute complaining that changelevel doesn't have a valid spawn point
In the original They Hunger, normal cops do not attack players for killing zombified cops.
In the crossplatform release of They Hunger, normal cops attack players for killing zombified cops.
A custom level bug_barney.zip is provided to allow for easier testing and debugging. It includes two cops - a normal cop and a zombie cop, as well as a glock at player spawn.
map bug_barney
Expected behavior: Normal cop should remain friendly to the player.
Actual behavior: Normal cop attacks the player.
According to the reverse engineered source code, there is an extra condition at the end of the line. Please, see the following below:
This code is in the function EnumFriends, which is responsible for listing all 'friend' entities to this monster. The context in which the function is used is as follows: If a player kills a 'barney' monster, then it searches for every entity whose classname is part of the barney's friend array, and makes them enemy of the player.
The condition from the code snippet above determines if a friend entity must be skipped/ignored.
Normal cops and zombified cops use the same class, so to prevent zombified cops from making normal cops enemies of players whenever a player kills a zombified cop, the code above should probably rather be:
if( pFriend == this || !pFriend->IsAlive()
// Skip if a zombie cop has been killed and the the target friend is a normal cop.
|| ( FBitSet( pev->spawnflags, SF_MONSTER_ZOMBIECOP )
&& !FBitSet( pFriend->pev->spawnflags, SF_MONSTER_ZOMBIECOP ) ) )
continue;
How to build a mods for half life xash3d plz
Заметил, что некоторые символы в нике, в scoreboard показываются как другие символы.
Например, вместо " < " показывается " ; ", вместо " > " показывается " : ", вместо " ^ " показывается " ' ".
I have some problems compiling server library in MSVC, it compiles just fine but the game does not load them now as the title says, I'm trying this on the Old Engine of Xash3D and 32-bit build (did not try 64-bit or the New Engine)
But for some reason, compiling on mingw32 does work as intended and has no problems, and if needed:
My Windows SDK is 10.0.18362.0
Platform Toolset is Visual Studio 2019 (v142 build tools)
MSVC Version is 16.7.3
При попытке загрузить карту stalevar, игра крашится с "stack smashing detected".
При использовании старого клиента краша нету.
Сама карта. (Сменить расширение на .bsp.)
stalevar.zip
Backtrace:
Thread 1 "xash" received signal SIGABRT, Aborted.
0x00007ffff7b24701 in raise () from /lib64/libc.so.6
#0 0x00007ffff7b24701 in raise () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007ffff7b0e2b6 in abort () from /lib64/libc.so.6
No symbol table info available.
#2 0x00007ffff7b659f1 in ?? () from /lib64/libc.so.6
No symbol table info available.
#3 0x00007ffff7be6c42 in __fortify_fail () from /lib64/libc.so.6
No symbol table info available.
#4 0x00007ffff7be6c20 in __stack_chk_fail () from /lib64/libc.so.6
No symbol table info available.
#5 0x00007ffff43082b7 in UTIL_FindEntityInMap (
name=0x7ffff4318f0e "trigger_camera", origin=0x7ffff43475d4 <gHUD+5492>,
angle=0x7ffff43475e0 <gHUD+5504>) at ../cl_dll/hud_spectator.cpp:298
n = <optimized out>
found = <optimized out>
keyname = "\000\000ÿÿÿ\177\000\000\000\000\000\000\000\000\000\000\001\200ûÿ\177\000\000\200Íÿÿ\000\000\000\000ÿÿÿÿÿÿÿÿ\000\000\000\000\000\000\000\000\200Íÿÿÿ\177\000\000\226Íÿÿÿÿÿÿÿÿÿÿ\000\000\000\000\000D\tVFf?ðÊÿÿÿ\177\000\000\200áÅ÷ÿ\177", '\000' <repeats 18 times>, "\030Ëÿÿÿ\177\000\000\060Ëÿÿÿ\177", '\000' <repeats 14 times>, "R\000\000\000@\020\216öÿ\177\000\000\200\030\216öÿ\177\000\000\060Ëÿÿÿ\177\000\000\233-ðöÿ\177\000\000\001\000\000\000R\000\000\000`´0÷ÿ\177\000\000\200\030\216öÿ\177\000\000"...
token = "µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230¼µ\236¼µ\236¼µ\236¼µ\236¼µ\236¼µ\236¼µ\236¶¯\231µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230¼µ\236¼µ\236¼µ\236¼µ\236¼µ\236¼µ\236»´\235¶¯\231µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®\230µ®"...
pEnt = <optimized out>
data = <optimized out>
#6 0xb899afb699afb699 in ?? ()
No symbol table info available.
#7 0x9eb5bc9eb5bc9bb1 in ?? ()
No symbol table info available.
#8 0xb5bc99afb599afb5 in ?? ()
No symbol table info available.
#9 0xbc9eb5bc9eb5bc9e in ?? ()
No symbol table info available.
#10 0x9eb5bc9eb5bc9eb5 in ?? ()
No symbol table info available.
#11 0xb5bc9eb5bc9eb5bc in ?? ()
No symbol table info available.
#12 0xbc9eb5bc9eb5bc9e in ?? ()
No symbol table info available.
#13 0x9eb5bc9eb5bc9eb5 in ?? ()
No symbol table info available.
#14 0xb5bc9eb5bc9eb5bc in ?? ()
No symbol table info available.
#15 0xbc9eb5bc9eb5bc9e in ?? ()
No symbol table info available.
#16 0x9eb5bc9eb5bc9eb5 in ?? ()
No symbol table info available.
#17 0xb5bc9eb5bc9ab0b7 in ?? ()
No symbol table info available.
#18 0xb69eb5bc9eb5bc9e in ?? ()
No symbol table info available.
#19 0x9eb5bc9eb5bc99af in ?? ()
No symbol table info available.
#20 0xafb69cb2b99eb5bc in ?? ()
No symbol table info available.
#21 0xb89ab0b79ab0b799 in ?? ()
No symbol table info available.
#22 0x99afb699afb69ab1 in ?? ()
No symbol table info available.
#23 0xafb699afb699afb6 in ?? ()
No symbol table info available.
#24 0xb699afb699afb699 in ?? ()
No symbol table info available.
#25 0x99afb699afb699af in ?? ()
No symbol table info available.
#26 0xafb699afb699afb6 in ?? ()
No symbol table info available.
#27 0xb699afb699afb699 in ?? ()
No symbol table info available.
#28 0x99afb699afb699af in ?? ()
No symbol table info available.
#29 0xafb699afb699afb6 in ?? ()
No symbol table info available.
#30 0xb699afb699afb699 in ?? ()
No symbol table info available.
#31 0x99afb699afb699af in ?? ()
No symbol table info available.
#32 0xafb699afb699afb6 in ?? ()
No symbol table info available.
#33 0xb699afb699afb699 in ?? ()
No symbol table info available.
#34 0x99afb699afb699af in ?? ()
No symbol table info available.
#35 0xafb699afb699afb6 in ?? ()
No symbol table info available.
#36 0xb699afb699afb699 in ?? ()
No symbol table info available.
#37 0x99afb699afb699af in ?? ()
No symbol table info available.
#38 0x3332005b5f38585b in ?? ()
No symbol table info available.
#39 0x3534180434331804 in ?? ()
No symbol table info available.
#40 0x00007fffffffda7c in ?? ()
No symbol table info available.
#41 0x0000555557056830 in ?? ()
No symbol table info available.
#42 0x0000555555cbc570 in ?? ()
No symbol table info available.
#43 0x3d3c1c0500000000 in ?? ()
No symbol table info available.
#44 0x0000555557056830 in ?? ()
No symbol table info available.
#45 0x00007fffffffd510 in ?? ()
No symbol table info available.
#46 0x00007ffff6eb237a in SV_FindTouchedLeafs (
ent=<error reading variable: Cannot access memory at address 0x99afb69ab0b79e9d>,
node=<error reading variable: Cannot access memory at address 0x99afb69ab0b79e95>,
headnode=<error reading variable: Cannot access memory at address 0x99afb69ab0b79e8d>) at ../engine/server/sv_world.c:623
sides = <error reading variable sides (Cannot access memory at address 0x99afb69ab0b79ea9)>
leaf = <error reading variable leaf (Cannot access memory at address 0x99afb69ab0b79ead)>
Backtrace stopped: Cannot access memory at address 0x99afb69ab0b79ebd
I'm trying to get blueshift to work on my raspberry pi 4 on arch linux. When I try to start a new game, I get assert failed at ../ref_gl/gl_context.c:126
. Vanilla half-life works just fine.
In the original Half-Life, alien slaves perform beam attacks faster on skill 'hard' than on easy and medium.
In the original Azure sheep, alien slaves always do the fast beam attack, no matter the skill level. This is also the case for pink alien slaves 'monster_exp_alien_slave'.
In the crossplatform release of Azure sheep, alien slaves use the same behavior as in Half-Life.
A custom level bug_alien_slave.zip is provided to allow for easier testing and debugging. It includes one normal alien slave 'monster_alien_slave' and one pink alien slave 'monster_exp_alien_slave'.
skill 1
map bug_alien_slave
god
Expected behavior: Alien slaves should do fast beam attack.
Actual behavior: Alien slaves do the normal beam attack.
skill 2
map bug_alien_slave
god
Expected behavior: Alien slaves should do fast beam attack.
Actual behavior: Alien slaves do the normal beam attack.
The following if statement was probably removed/commented in the original source code.
When I tried to compile it using the compile.bat script, I added files from asheep folder there, I got some errors in the client.cpp file, that are below:
client.cpp(1671) : error C2039: 'm_flStartThrow' : is not a member of 'CBasePlay
erWeapon'
weapons.h(305) : see declaration of 'CBasePlayerWeapon'
client.cpp(1672) : error C2039: 'm_flReleaseThrow' : is not a member of 'CBasePl
ayerWeapon'
weapons.h(305) : see declaration of 'CBasePlayerWeapon'
client.cpp(1673) : error C2039: 'm_chargeReady' : is not a member of 'CBasePlaye
rWeapon'
weapons.h(305) : see declaration of 'CBasePlayerWeapon'
client.cpp(1674) : error C2039: 'm_fInAttack' : is not a member of 'CBasePlayerW
eapon'
weapons.h(305) : see declaration of 'CBasePlayerWeapon'
client.cpp(1675) : error C2039: 'm_fireState' : is not a member of 'CBasePlayerW
eapon'
weapons.h(305) : see declaration of 'CBasePlayerWeapon'
client.cpp(1766) : error C2039: 'ammo_9mm' : is not a member of 'CBasePlayer'
player.h(87) : see declaration of 'CBasePlayer'
client.cpp(1767) : error C2039: 'ammo_357' : is not a member of 'CBasePlayer'
player.h(87) : see declaration of 'CBasePlayer'
client.cpp(1768) : error C2039: 'ammo_argrens' : is not a member of 'CBasePlayer
'
player.h(87) : see declaration of 'CBasePlayer'
client.cpp(1769) : error C2039: 'ammo_bolts' : is not a member of 'CBasePlayer'
player.h(87) : see declaration of 'CBasePlayer'
client.cpp(1770) : error C2039: 'ammo_buckshot' : is not a member of 'CBasePlaye
r'
player.h(87) : see declaration of 'CBasePlayer'
client.cpp(1771) : error C2039: 'ammo_rockets' : is not a member of 'CBasePlayer
'
player.h(87) : see declaration of 'CBasePlayer'
client.cpp(1772) : error C2039: 'ammo_uranium' : is not a member of 'CBasePlayer
'
player.h(87) : see declaration of 'CBasePlayer'
client.cpp(1773) : error C2039: 'ammo_hornets' : is not a member of 'CBasePlayer
'
player.h(87) : see declaration of 'CBasePlayer'
What's wrong here?
The rest files compiled without errors.
also I could not find correct makefile to compile client dll in asheep branch.
I want to test it in game to look if what unfinished things are still left.
Upd: Compiled ok with cmake and msvc 2019.
So, I got MinGW working and I was able to compile the Xash HLSDK. Client loads fine, but when trying to load up a map, Xash stops and gives an error saying that it couldn't load 'dll\hl.dll'
Here is the engine log:
engine.log
At first, engine can load the server binary, but then it runs into a problem (Line 140 in log):
[2018:04:01|23:05:30] SV_LoadProgs: failed to get address of GiveFnptrsToDll proc
Any ideas as to what the problem is?
Hello, I have a question.
is it possible that someday a reverse engineering of gunman chronicles will be done?
I have already tried to imitate some, but rather with bad success :)
Lucas
This is more of a comment than an issue because, AFAIK, building on Windows 10 64-bit with Visual Studio 2019 is not supported. It can, however, be built. See my brief blog post: build xash3d 64-bit Win10 vs2019.
The only issue I discovered relates to this error while building the "opfor" branch:
Generating Code...
Creating library D:/Dev/xash3d/gearbox/build/dlls/Release/opfor64.lib and object D:/Dev/xash3d/gearbox/build/dlls/
Release/opfor64.exp
ctf_items.obj : error LNK2019: unresolved external symbol "char * __cdecl GetTeamName(int)" (?GetTeamName@@YAPEADH@Z) r
eferenced in function "private: void __cdecl CItemFlag::Capture(class CBasePlayer *,int)" (?Capture@CItemFlag@@AEAAXPEA
VCBasePlayer@@H@Z) [D:\Dev\xash3d\gearbox\build\dlls\server.vcxproj]
Hint on symbols that are defined and could potentially match:
"char const * __cdecl GetTeamName(int)" (?GetTeamName@@YAPEBDH@Z)
D:\Dev\xash3d\gearbox\build\dlls\Release\opfor64.dll : fatal error LNK1120: 1 unresolved externals [D:\Dev\xash3d\gearb
ox\build\dlls\server.vcxproj]
I understand it's related to ANSI/Unicode strings as mentioned here: Working with Strings
This patch resolves the issue:
diff --git a/dlls/gearbox/ctf_items.cpp b/dlls/gearbox/ctf_items.cpp
index ab38378..8f6bcb3 100644
--- a/dlls/gearbox/ctf_items.cpp
+++ b/dlls/gearbox/ctf_items.cpp
@@ -34,7 +34,7 @@ This contains the Flag entity information for the Half-Life : Opposing force CTF
extern int gmsgCTFMsgs;
-extern char* GetTeamName(int team);
+const char* GetTeamName(int team);
/*****************************************************
I have no idea why that works but only found one instance of extern char*
and numerous const char*
so it ended up being a guess. I suspect the change would be compatible with both GCC and the Microsoft compiler but don't really know.
I've built with VS2019 and GCC8 so this code is rolling forward nicely.
Since Valve made the German version normal recently, should we change anything about it in SDK?
There're places in SDK that depend on LANGUAGE_GERMAN. Does sv_language even differ between countries?
In the original They Hunger, both kelly and baby kelly throw human gibs when killed.
In the crossplatform release of They Hunger, both kelly and baby kelly do not throw gibs.
A custom level gib_kelly.zip is provided to allow for easier testing and debugging. It includes a regular skeleton 'monster_alien_slave', a baby kelly skeleton 'monster_th_babykelly', and an umbrella at player spawn.
map gib_kelly
Expected behavior: Both monsters should throw human gibs when killed.
Actual behavior: No gib is thrown.
According to the reverse engineered source code, there is an additional class: CLASS_SKELETON. Please see the following below:
https://github.com/FWGS/hlsdk-xash3d/blob/1ffb009983ec7d36859e559e5dfbf0c478437846/dlls/cbase.h#L106
The methods HasHumanGibs and HasAlienGibs return whether or not a monster should emit human/alien gibs. The original mod behavior is probably one of the following cases:
A) The class CISlave implements HasHumanGibs.
BOOL CISlave::HasHumanGibs( void )
{
return TRUE;
}
B) There should probably be a check for CLASS_SKELETON in the if statement below.
EDIT:
The file agibs.mdl is used for alien gib models. It appears the mod replaces this file with the same content as hgibs.mdl. This adds two additional possible cases:
C) The class CISlave implements HasAlienGibs.
BOOL CISlave::HasAlienGibs( void )
{
return TRUE;
}
D) There should probably be a check for CLASS_SKELETON in the if statement below.
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.