Out of curiosity, how much of the original code has been translated by now?
Out of curiosity, how much of the original code has been translated by now?
Last edited by Trass3r; January 15th, 2019 at 03:07.
I don't know. But since Mefisto left, no new code has been rewritten at all.
I see. Well fwiw 687/2122 symbols are still in use. But that includes a lot of data.
Looks like these are missing (at least):
DLLIMPORT char *_DK_mdlf_for_cd(struct TbLoadFiles *);
DLLIMPORT char *_DK_mdlf_default(struct TbLoadFiles *);
DLLIMPORT int __stdcall _DK_LbErrorLogSetup(char *directory, char *filename, unsigned char flag);
main:
DLLIMPORT int _DK_can_thing_be_queried(struct Thing *thing, long a2);
DLLIMPORT void _DK_tag_cursor_blocks_sell_area(unsigned char a1, long a2, long a3, long a4);
DLLIMPORT unsigned char _DK_tag_cursor_blocks_place_door(unsigned char a1, long a2, long a3);
DLLIMPORT void _DK_tag_cursor_blocks_dig(unsigned char a1, long a2, long a3, long a4);
DLLIMPORT void _DK_tag_cursor_blocks_thing_in_hand(unsigned char a1, long a2, long a3, int a4, long a5);
DLLIMPORT long _DK_ceiling_init(unsigned long a1, unsigned long a2);
DLLIMPORT void _DK_check_players_won(void);
DLLIMPORT long _DK_apply_wallhug_force_to_boulder(struct Thing *thing);
DLLIMPORT void __stdcall _DK_IsRunningMark(void);
DLLIMPORT void __stdcall _DK_IsRunningUnmark(void);
DLLIMPORT void _DK_update_flames_nearest_camera(struct Camera *camera);
DLLIMPORT void _DK_update_player_camera_fp(struct Camera *cam, struct Thing *thing);
DLLIMPORT void _DK_view_move_camera_left(struct Camera *cam, long a2);
DLLIMPORT void _DK_view_move_camera_right(struct Camera *cam, long a2);
DLLIMPORT void _DK_view_move_camera_up(struct Camera *cam, long a2);
DLLIMPORT void _DK_view_move_camera_down(struct Camera *cam, long a2);
DLLIMPORT long _DK_ceiling_block_is_solid_including_corners_retur n_height(long a1, long a2, long a3);
DLLIMPORT unsigned long _DK_setup_move_out_of_cave_in(struct Thing *thing);
network:
DLLIMPORT TbError _DK_LbNetwork_Exchange(void *buf);
DLLIMPORT TbError _DK_LbNetwork_Startup(void);
DLLIMPORT TbError _DK_LbNetwork_Shutdown(void);
DLLIMPORT TbError _DK_LbNetwork_Stop(void);
DLLIMPORT TbError _DK_LbNetwork_Join(struct TbNetworkSessionNameEntry *nsname, char *plyr_name, unsigned long *plyr_num);
DLLIMPORT TbError _DK_LbNetwork_Create(char *nsname_str, char *plyr_name, unsigned long *plyr_num);
DLLIMPORT TbError _DK_LbNetwork_ChangeExchangeBuffer(void *, unsigned long);
DLLIMPORT TbError _DK_LbNetwork_Init(unsigned long,struct _GUID guid, unsigned long, void *, unsigned long, struct TbNetworkPlayerInfo *netplayr, void *);
DLLIMPORT TbError _DK_LbNetwork_EnableNewPlayers(unsigned long allow);
DLLIMPORT TbError _DK_LbNetwork_EnumerateServices(TbNetworkCallbackF unc callback, void *a2);
DLLIMPORT TbError _DK_LbNetwork_EnumeratePlayers(struct TbNetworkSessionNameEntry *sesn, TbNetworkCallbackFunc callback, void *a2);
DLLIMPORT TbError _DK_LbNetwork_EnumerateSessions(TbNetworkCallbackF unc callback, void *ptr);
Last edited by Trass3r; January 15th, 2019 at 14:00.
Hi, decided to try out the unofficial release, and seems good so far. Just a minor question, it's no problem really: At the start of a level, the short little intro of the first-person animation of walking in to your Dungeon Heart has been removed. Is there any way to restore this? I have looked in the launcher config options and can find nothing pertaining to this, so I assume it's coded in there.
Again, not an issue really. It's just kind of jarring to me because it's what I am used to and it's weird for the level to just...start.
Ehm,... no, it isn't removed. I just tested it and it still works. When I start a level you first see a split second of first person view into the dungeon heart, before you exit out of it into the level. Did you make any changes to your own game, in particular to the floating_spirit or other units?
No changes to anything, it's a fresh download, though it now occurs to me I patched it with the latest alpha when this happened. Will test when I get back home, I'd test it now on my laptop, but potato laptop doesn't like games. (Yes, it's that bad lol)
Which level are you playing? It works for me most of the time, though I think there may be one or two levels where it doesn't for some reason.
Just to clarify, which version of KeeperFX are you using? The latest alpha of unofficial is 0.4.6.1896.
Yes, I patched it using v0.4.6.1896. It's on the original campaign, level 1 (I didn't test it further because I thought something was wrong). There is a brief black screen, with some slight pixel garbling, and then it takes me to the isometric view of gameplay. The unofficial release is the only I have seen it do this with, though I need to test it more when I get home.
In that case, a log file might be interesting.
Dungeon Keeper FX ver 0.4.6u build 1850 (standard release)
LOG CREATED @ 19:08:39 16-01-2019
Sync: LbMouseChangeMoveRatio: New ratio 256x256
Sync: CPU GenuineIntel type 0 family 6 model 10 stepping 7 features bfebfbff
Sync: PhysicalMemory 32
Sync: Memory-demanding features enabled.
Sync: LbScreenSetup: Mode 640x480x32 setup succeeded
Sync: Moon phase -0.3397
Sync: LbScreenSetup: Mode 640x480x32 setup succeeded
LbDataFree: freeing "*PALETTE"...done
LbDataFree: freeing "*SCRATCH"...done
Sync: LbMouseChangeMoveRatio: New ratio 128x128
Sync: GraphicsHeap Size 8388608
Sync: SoundHeap Size 8388608
Sync: init_sound_heap_two_banks: Got sound buffer of 8357696 bytes, samples in banks: 840,126
Sync: Pentium Pro polygon rendering on
Sync: setup_game: Speech recognition disabled: KeeperSpeech module not found
LbDataFree: freeing "data/pointer64.dat"...done
LbDataFree: freeing "data/pointer64.tab"...done
Sync: LbScreenSetup: Mode 640x480x32 setup succeeded
Sync: LbMouseChangeMoveRatio: New ratio 256x256
Sync: get_startup_menu_state: Standard startup state selected
Sync: Frontend state change from 0 into 1
Sync: Created menu ID 18 at slot 0, pos (0,0) size (640,480)
Sync: Frontend state change from 1 into 31
Sync: Created menu ID 41 at slot 0, pos (0,0) size (640,480)
Sync: Frontend state change from 31 into 3
LbDataFree: freeing "ldata/lndflag_ens.dat"...done
LbDataFree: freeing "ldata/lndflag_ens.tab"...done
Sync: Frontend state change from 3 into 7
Sync: Frontend state change from 7 into 0
LbDataFree: freeing "ldata/frontft1.dat"...done
LbDataFree: freeing "ldata/frontft1.tab"...done
LbDataFree: freeing "ldata/frontft2.dat"...done
LbDataFree: freeing "ldata/frontft2.tab"...done
LbDataFree: freeing "ldata/frontft3.dat"...done
LbDataFree: freeing "ldata/frontft3.tab"...done
LbDataFree: freeing "ldata/frontft4.dat"...done
LbDataFree: freeing "ldata/frontft4.tab"...done
LbDataFree: freeing "*FE_BACKUP_PAL"...done
Sync: LbScreenSetup: Mode 1920x1080x32 setup succeeded
Sync: LbMouseChangeMoveRatio: New ratio 768x768
Sync: GraphicsHeap Size 8388608
Sync: reenter_video_mode: Switched video to 1920x1080x32 (mode 29)
Script(line 15): script_add_command: Level files version 1.
Sync: Optional file "map00001.flg" doesn't exist or is too small.
Sync: Created menu ID 1 at slot 0, pos (0,0) size (376,1075)
Sync: Created menu ID 2 at slot 1, pos (0,0) size (376,1075)
load_script: Used script resources: 2/16 tunneller triggers, 1/48 party triggers, 45/64 script values, 34/48 IF conditions, 2/16 party definitions
Sync: Created menu ID 16 at slot 2, pos (480,849) size (1290,231)
Sync: Created menu ID 8 at slot 3, pos (734,352) size (828,323)
Sync: Created menu ID 10 at slot 4, pos (793,358) size (710,312)
LbDataFree: freeing "data/gui1-64.dat"...done
LbDataFree: freeing "data/gui1-64.tab"...done
LbDataFree: freeing "data/font2-64.dat"...done
LbDataFree: freeing "data/font2-64.tab"...done
LbDataFree: freeing "data/font1-64.dat"...done
LbDataFree: freeing "data/font1-64.tab"...done
LbDataFree: freeing "data/slab0-1.dat"...done
LbDataFree: freeing "data/gui2-64.dat"...done
LbDataFree: freeing "data/gui2-64.tab"...done
LbDataFree: freeing "*B_SCREEN"...done
Sync: LbScreenSetup: Mode 640x480x32 setup succeeded
Sync: LbMouseChangeMoveRatio: New ratio 256x256
Sync: get_startup_menu_state: Undecided victory state selected
Sync: Frontend state change from 0 into 3
LbDataFree: freeing "ldata/lndflag_ens.dat"...done
LbDataFree: freeing "ldata/lndflag_ens.tab"...done
Sync: Frontend state change from 3 into 1
Sync: Created menu ID 18 at slot 0, pos (0,0) size (640,480)
Sync: Frontend state change from 1 into 9
Sync: Frontend state change from 9 into 0
LbDataFree: freeing "*SCRATCH"...done
LbDataFree: freeing "*TEXTURE_PAGE"...done
LbDataFree: freeing "data/creature.tab"...done
LbDataFree: freeing "data/palette.dat"...done
LbDataFree: freeing "data/bluepal.dat"...done
LbDataFree: freeing "data/redpall.dat"...done
LbDataFree: freeing "data/lightng.pal"...done
LbDataFree: freeing "data/dogpal.pal"...done
LbDataFree: freeing "data/vampal.pal"...done