Well,

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.

KetilO

Edit:
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.

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

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
;----------------------------------------
LOCALS


UNIT_TYPE_STRU STRUC
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 ?


;55
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)

UNIT_TYPE_STRU ENDS

.data

UNIT_TYPE_STRU_SIZE dd SIZE UNIT_TYPE_STRU



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:

Struct=$-,ends,struc,struct

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.

KetilO
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.

Thanks
Posted on 2003-07-09 18:51:38 by negatory
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


KetilO:
---------
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.

http://www.masmforum.com/viewtopic.php?t=456

This bothered me too.

RobotBob
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.

KetilO
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.

RobotBob
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

Important:

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:

Struct=$-,ends,struct,struc

Here is the updated RadASM.exe

KetilO

Edit:
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 .
:stupid:
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 :



Code=$-,endp,proc
Const=$-,{C},equ
Data=$-,{C},db,dw,dd,dq,df,dt,byte,word,dword,qword
Macro=$-,endm,macro
Struct=$-,ends,struc


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