I am not that happy anymore :(

I have spent a lot of time to convert HE game to RADASM project, and when i added one more file it just ... decided to crash on me (one extra big structure actually)... and keeps crashing after that

The sad thing is that i added the HE files to RadASM on a "need to be there" basis and in doing so i did no added more than 10% of all HE files...

I somehow looks like RadASM is not used to handle huge numbers of files and / or procedures, structures etc...
Exactlyy this kind of huge stuff appears in big projects and needs to be handeled properly.

To be fair i have to say that RadAsm did help me a lot while it worked (finding procedure and variables locations in files)

But i am back to PFE for a while now :(
Posted on 2003-07-08 16:49:24 by BogdanOntanu
Hi Bogdan

I am sorry to hear that.
RadASM is designed with large projects in mind. There are however a limit on 1000 files.

RadASM does only allocate a small amount of memory to hold your projects structures, so this might be the problem.
I have incrased the structure memory size. If you want to give it a try, here is the zip.


Attachment deleted.
Posted on 2003-07-09 02:12:38 by KetilO
Hi Ketilo,

Thank you very much for such a quick fix attempt, i will give it a try and let you know...

Now i have 861 files and 62 folders and growing

And i surely have a huge ammount of structures, procedures, and data references
Posted on 2003-07-09 07:21:18 by BogdanOntanu
Sorry same error
Posted on 2003-07-09 07:30:04 by BogdanOntanu
Hi Bogdan

Maybe you can post the struct that make RadASM crash.
There might be a bug in the parser.

Posted on 2003-07-09 09:08:45 by KetilO

Well i do not think this structure has anything special, besides it is a "little big"
I just think it was one long structure too many ... :( ... but i might be wrong since i know nothing about RadAsm internals so here it is:

; Data structures regarding units types

unit_type_dx dd ?
unit_type_dy dd ?
unit_type_name dd ?
unit_type_cloaked dd ?
unit_type_type dd ?
unit_type_dx_bmp dd ?
unit_type_dy_bmp dd ?
unit_type_size dd ?
unit_type_maxhealth dd ?
unit_type_health dd ?
unit_type_phase dd ?
unit_type_head_no dd ?
unit_type_wave01 dd ?

unit_type_fire_ground dd ?
unit_type_fire_rate_ground dd ?
unit_type_fire_air dd ?
unit_type_fire_rate_air dd ?

unit_type_range_ground dd ?
unit_type_range_air dd ?

unit_type_damage_ground dd ?
unit_type_damage_air dd ?

unit_type_armour_ground dd ?
unit_type_armour_air dd ?

unit_type_sight dd ?
unit_type_cnt_dying dd ?
unit_type_update_target dd ?
unit_type_dim dd ?
unit_type_off_x_bmp dd ?
unit_type_off_y_bmp dd ?
unit_type_x_eff dd ?
unit_type_y_eff dd ?
unit_type_sel_x dd ? ;fata de offset bmp
unit_type_sel_y dd ? ;fata de offset bmp
unit_type_health_x dd ? ;fata de offset bmp
unit_type_health_y dd ? ;fata de offset bmp
unit_type_can_harvest dd ?
unit_type_is_depozit dd ?
unit_type_cost_res01 dd ?
unit_type_cost_res02 dd ?

unit_type_ibtn_l1_1 dd ?
unit_type_ibtn_l1_2 dd ?
unit_type_ibtn_l2_1 dd ?
unit_type_ibtn_l2_2 dd ?
unit_type_ibtn_l3_1 dd ?
unit_type_ibtn_l3_2 dd ?

unit_type_ibtn_l1_3 dd ?
unit_type_ibtn_l2_3 dd ?

unit_type_ibtn_l4_1 dd ?
unit_type_ibtn_l4_2 dd ?

unit_type_ibtn_l1_4 dd ? ;level 1 dw 4
unit_type_ibtn_l1_5 dd ? ;level 1 dw 5
unit_type_ibtn_l1_6 dd ? ;level 1 dw 6
unit_type_ibtn_l1_7 dd ? ;level 1 dw 7

unit_type_ibtn_l1_8 dd ? ;level 1 dw 8
unit_type_ibtn_l1_9 dd ? ;level 1 dw 9
unit_type_ibtn_l1_10 dd ? ;level 1 dw 10
unit_type_ibtn_l1_11 dd ? ;level 1 dw 11
unit_type_ibtn_l1_12 dd ? ;level 1 dw 12

unit_type_is_detector dd ?
unit_type_selection_type dd ?

unit_type_larray db ?
db ?
db ?
db ?
db ?
db ?
db ?
db ?

unit_type_barray db ?
db ?
db ?
db ?
db ?
db ?
db ?
db ?

unit_type_glow dd ?
unit_type_surface dd ?
unit_type_text dd ?

unit_type_shadow_off_x dd ?
unit_type_shadow_off_y dd ?

unit_type_is_building dd ?
unit_type_can_move dd ?
unit_type_speed dd ?
unit_type_flags01 dd ?

unit_type_building_time dd ?
unit_type_targeted_max dd ?
unit_type_search_target dd ?

unit_type_cnt_send_res dd ? ;unit01_cnt_send_res_max
unit_type_burrow_time dd ?

unit_type_load_max dd ?
unit_type_load_slots dd ?
unit_type_descent_time dd ?
unit_type_race dd ?
unit_type_supply_cost dd ? ;supplies taken
unit_type_supply_provide dd ? ;supplies provided

unit_type_rest dd 44 dup (0)




Hope this helps
Posted on 2003-07-09 14:10:17 by BogdanOntanu
Hi again,

I have just noticed that this new version of RadAsm you have sent me:
-1)loads the project up without crash
-2)crashes ONLY when i first scroll down the project's file list view / grid

Hope this might help
Posted on 2003-07-09 14:17:08 by BogdanOntanu
Hi Bogdan

Just an idea.
Do you get a list of struct items if you type:

mov eax,.UNIT_TYPE_STRU.

If not change section {Code} in tasm.ini to:


Hope this helps.

I have just noticed that this new version of RadAsm you have sent me:
-1)loads the project up without crash
-2)crashes ONLY when i first scroll down the project's file list view / grid

Sorry, does not help much.

Posted on 2003-07-09 16:21:26 by KetilO
On the subject of massive projects, does anybody have, or know of a large project that is open source? I would like to test Negatory Assembly Studio with a large project. Preferably MASM.

Posted on 2003-07-09 18:51:38 by negatory
Open source i do not know , let me know too ... if you find out one in TASM preferably :)

but i might try it on HE for you if it is not too much work/setup

BTW the new RadAsm kkeps on loading the last project is was using at startup (dang) and since it is the HE project that crashes RadAsm --> I can NOT use RadASM for other smaller projects anymore (like HE map editor) --- hmmm look how simple such a "feature" can ruin my day ? --- i should have used PFE :(

Is there a setting in .ini files or registry for me to disable auto load last project at startup in radasm ?
Posted on 2003-07-09 19:36:57 by BogdanOntanu
see my post in another forum.


This bothered me too.

Posted on 2003-07-09 19:42:53 by RobotBob
Thanks man

i was lucky enought to be able and setup the option before i got the crash :D
Posted on 2003-07-09 20:02:22 by BogdanOntanu
Hi Bogdan

Is there a setting in .ini files or registry for me to disable auto load last project at startup in radasm ?

In RadASM.ini section add Autoload=0.

Posted on 2003-07-10 01:07:48 by KetilO
Hey KetilO, (wish list)
How about deleting the MRU entry for that project if it fails to load?
That would be handy. Because I like the autoload feature, however I have a
habit of making projects and then deleting them. So if it doesn't find it, it tells you, then
deletes the mru key in the ini.

Posted on 2003-07-10 10:58:45 by RobotBob
To KetilO

Yes i get a list of structure members if i type :

mov eax,.UNIT_TYPE_STRU.

at least in HE Map Editor project i get one, can not test it in HE GAME anymore
Posted on 2003-07-10 13:00:09 by BogdanOntanu
Hi Bogdan

Second try.
I have tested on a project containing:

990 Files
5000 Procs
5000 Macros
5000 Structs each with 10 items
5000 Constants
5000 Inited data
5000 Uninited data


MakeDef.dll addin does not handle the number of procs and must be removed from RadASM.ini section

In tasm.ini section {Code} make shure that key Struct is set to:


Here is the updated RadASM.exe


Attachment deleted.
Posted on 2003-07-16 09:18:20 by KetilO
I will check it and let you know...

But BTW 5000 is a pretty small number i have more than 10,000 .IF and .ENDIFs in my code more than 10,000 labels etc .
Posted on 2003-07-16 10:27:51 by BogdanOntanu
OK this must of been it :))

Thanks man now it works again...

I have not removed Makedef.dll addin ... ? what does it do?
And i have :


in my tasm.ini but still it works ... so what was it? and should i expect it again soon :D

Many thanks again man :) ... you have made me happy again ... see how easy it is :P
Posted on 2003-07-16 10:31:16 by BogdanOntanu
Hi Bogdan,

Where can I find an include file for Tasm equivalent to windows.inc which comes with the Masm32 package?
Posted on 2003-07-16 11:13:07 by Vortex
Hi, Vortex

Well i made my own as i go by and adding only functions/constants i needed for each specific project
(you can see some of them in my raytracer or winsock HE Net client/server sources on this board).

Unfortunately i never did have the time or the will to make a huge include like the one that MASM32 has...

But I was thinking i should do / mantain one lately :grin:
Posted on 2003-07-16 12:00:02 by BogdanOntanu