Build Queue project with 4 new slots

General Modding Information/Questions; support/discussion/questions

Moderator: thunderchero

Forum rules
:idea: Please search before starting new topic. :idea:
There is a good chance it has already been asked.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7848
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: Build Queue project

Post by thunderchero »

I first should say I have not looked at GUI in over a week now. :wink:

Right now even the "phantom build queue" is displaying some very strange abnormal behavior when adding items to build queue.
Spocks-cuddly-tribble wrote: Tue May 11, 2021 11:16 am
thunderchero wrote: Fri Apr 30, 2021 4:29 pmthe *buildq.wdf has 2 widgets, an image widget and text widget, this is what the new build queue slots are missing the loading of image and text entry.
So there also should be hard coded 4 and/or 8 and total widget numbers?
the total is 2 at 4FD6A1

Code: Select all

004FD6A1 BB 02 00 00 00          mov     ebx, 2   ; numWidgets
at the beginning of that sub at 4FD61F I think is total memory used by *buildq.wdf (I increased this already)

Code: Select all

004FD61F B8 3C 00 00 00          mov     eax, 3Ch        ; size
that sub-section is called in a loop with a cmp 4 (I also increased) at 4FDF50

this part I think was all working correctly, since it will display the pink box for each new build queue. it could not display the pink box if it was not loading *buildq.wdf info to new placeholders.
note; it is even loading the "mt_30.tga" to image place holder. this tga is loaded in sub 4F968C and 4F9AF0

The problem I am seeing is the build queue info in the sytinfo file is not getting loaded to those new placeholder/widgets.

I found 4 sub-sections that look to load build queue items from systinfo file.

4F3214, 4F968C, 4F9AF0 and 4FD3AC

I still am unsure how each of the above sub-sections are used.
Spocks-cuddly-tribble wrote: Tue May 11, 2021 11:16 am 3.) Number of pointers for locations after the build queue wdf slot IDs and/or all larger hard coded widget IDs (like energy screen new IDs).
my new build queue slot ids are unique and do not conflict with any other wdf slot IDs.
the next used slot ids is 270h for the MP chat icon/button. so by my count we should be able to add a total of 14 new build queues without slot ids conflict?
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7848
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: Build Queue project

Post by thunderchero »

Hi Everyone,

I took some time to try some of SCT suggestions and I did make some progress.
progress.jpg
progress.jpg (218.79 KiB) Viewed 3646 times
it still has some issues;

1. removing items from build queue will only remove last 4 :shock:

2. closing game is slow (not destroying wdf properly)?

3. after starting game returning to main menu to start new game crashes. (not destroying wdf properly)?

EDIT; when game is closed or crash on start new game the debugger give this message

"trek.exe: The instruction at 0x52DC68 referenced memory at 0x9. The memory could not be read (0x0052DC68 -> 00000009)"

EDIT 2: I went back to my second option for placement of new table and it took care of the 2nd and 3rd issues, also no error when closing in debugger.
thunderchero wrote: Sun Apr 25, 2021 12:35 pm The original 4 slots add from the table at 595DA8 as normal
the new 4 slots add from new table at 68a320. this table only has those 4 slots.
At 4F8BF1 it starts to load the *solar.wdf table (34 widgets) when that completes I added new code to add the 4 new slots from 68a320
here is the changes I made that sct suggested

Code: Select all

004FDF36 0xfd336                mov     dword ptr [ebp+24h], 0 -> 34

004FDF9D 0xfd39d                mov     [ebp+28h], eax -> 38

004FDFA5 0xfd3a5                mov     dword ptr [ebp+2Ch], 0 -> 3C

004FDFAE 0xfd3ae                mov     dword ptr [ebp+30h], 0 -> 40

004FDF5F 0xfd35f                cmp     ecx, 4 // +1 entry -> 8

004FDE5F 0xfd25f                lea     ebx, [eax+10h] -> 20h

004FD5D3 0xfc9d3                mov     [eax+24h], edx -> 34

004FD5D8 0xfc9d8                mov     ecx, [eax+24h] -> 34

004FD5F3 0xfc9f3                cmp     dword ptr [eax+2Ch], 0 -> 3C

004FD5FE 0xfc9fe                call    dword ptr [ecx+2Ch] -> 3C

004FDE30 0xfd230                mov     [eax+2Ch], edx -> 3C

004FDE90 0xfd290                mov     dword ptr [eax+30h], 1 -> 40

004FDEA0 0xfd2a0                mov     dword ptr [eax+30h], 0 -> 40

004FDEBA 0xfd2ba                lea     edi, [eax+10h]  // hidden cmp 4 -> 20

004FDECB 0xfd2cb                mov     eax, [ebp+28h] -> 38
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7848
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: Build Queue project

Post by thunderchero »

update,
thunderchero wrote: Thu May 13, 2021 10:36 am 1. removing items from build queue will only remove last 4 :shock:
I got the removal of all build queues working now and even found the "shift + click" to remove multi items working also.

here is the new code locations I changed to accomplish this.

Code: Select all

4FDC8D 0xfd08d 8B 55 24                mov     edx, [ebp+24h]

4FDC76 0xfd076 8B 55 24                mov     edx, [ebp+24h]

4FDC67 0xfd067 8B 55 24                mov     edx, [ebp+24h]

4FD5E3 0xfc9e3 3B 41 04                cmp     eax, [ecx+4]

4FD7D9 0xfcbd9 8B 5D 30                mov     ebx, [ebp+30h]

4FD807 0xfcc07 8B 55 24                mov     edx, [ebp+24h]

4FD87D 0xfcc7d 8B 45 24                mov     eax, [ebp+24h]

4FD98F 0xfcd8f 8B 45 24                mov     eax, [ebp+24h]

4FD9F5 0xfcdf5 8B 45 24                mov     eax, [ebp+24h]

4FDA97 0xfce97 8B 4D 24                mov     ecx, [ebp+24h]
I will do more testing and try to post a patch tomorrow.

EDIT; there is still some abnormal behavior adding multi build structures (ships and main structures) so it looks like more code will be needed.

current issues, if single main/ship items are added the 9th item will not trip queue full, and will replace an item in queue. also 8th queue will not allow multiple item after queue is full dialog.
if 2 or more of each item is added queue full will display as it should, but 8th item will only allow 1 item.

like I said abnormal :mad:
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7848
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: Build Queue project

Post by thunderchero »

update,

I found code to fix multi add issues, it was a very well hidden cmp 4. it would check id of 4th entry in sysinfo file.

Code: Select all

0044DC57 83 C2 48                add     edx, 48h
so it also needed to be edited to 4 byte so value would not go negative.

so more testing today, but got my fingers crossed this was last issue.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7848
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: Build Queue project

Post by thunderchero »

Hi Everyone,

detailed documentation of this project will take several days so....

here is the test files for those who would like to test this project.

files in zip file
"edited_wdf_1024_8_BQ" the files in this folder need to be added to stbof.res with UE if 1024 x 768 is installed
"edited_wdf_1366_8_BQ" the files in this folder need to be added to stbof.res with UE if 1366 x 768 is installed
"edited_wdf_1920_8_BQ" the files in this folder need to be added to stbof.res with UE if 1920 x 1080 is installed
"patches_with_energy_screen" use these patches if energy screen is installed
"patches_without_energy_screen" use these patches if energy screen is NOT installed

the wdf files are for vanilla type mods, some mods with edited GUI may have misplaced buttons or buttons may flicker
example UDM Dominion GUI would have these issues in build screen. But the game would still be playable.

install the relocation patch first
then install the Build_Queue_test patch
add wdf files with UE and save

then test.
build_test.zip
(233.62 KiB) Downloaded 92 times
enjoy

thunderchero
User avatar
Tethys
Past Administrator
Past Administrator
Posts: 2392
Joined: Fri Jul 18, 2008 2:00 am
Location: Your mom's bed ;)
Contact:

Re: Build Queue project

Post by Tethys »

It appears to be working well. Assuredly I will let you know if I notice any abnormal behavior.
Not for the weak of heart...
Galaxies MOD v0.4.0 <--- GALM/Galaxies Mod latest version
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7848
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: Build Queue project

Post by thunderchero »

Hi Everyone,

I got the change list created.

this list is a list of all the locations (88 loctions) that would be required to be changed if anyone was interested in increasing build queue.

I have sorted the list into the type of change with original values. current value (after patch is applied) is at top of each section with the amount per new slot to add.

some values were moved into reloc section due to they required to be 4 byte so they would not go negative.

Code: Select all

6C -> CC change locations +18h per slot added

4378BD 0x36cbd B9 6C 00 00 00          mov     ecx, 6Ch
0x00036cbe 6c

4378DB 0x36cdb 83 C0 6C                add     eax, 6Ch
0x01a0461 6C

4378DE 0x36cde 83 C5 6C                add     ebp, 6Ch
0x01a0467 6C

437BFB 0x36ffb B9 6C 00 00 00          mov     ecx, 6Ch
0x01a0491 6C

437C18 0x37018 83 C3 6C                add     ebx, 6Ch
0x01a04af 6C

437F49 0x37349 83 C0 6C                add     eax, 6Ch
0x01a0421 6C

44D51F 0x4c91f B9 6C 00 00 00          mov     ecx, 6Ch
0x004c920 6C

44D537 0x4c937 83 E9 6C                sub     ecx, 6Ch
0x01a0432 6C

44D53A 0x4c93a 83 C5 6C                add     ebp, 6Ch
0x01a0438 6C

44D6DB 0x4cadb B9 6C 00 00 00          mov     ecx, 6Ch
0x004cadc 6C

44DD34 0x4d134 B8 6C 00 00 00          mov     eax, 6Ch
0x004d135 6C

44DD39 0x4d139 BB 6C 00 00 00          mov     ebx, 6Ch
0x004d13a 6C


60 -> C0 change locations +18h per slot added

44D04B 0x4c44b 83 C7 60                add     edi, 60h
0x01a0606 60

44D37D 0x4c77d 89 43 60                mov     [ebx+60h], eax
0x01a05fc 60

44D382 0x4c782 8D 53 60                lea     edx, [ebx+60h]
0x004c781 60

44D7DC 0x4cbdc C7 42 60 00 00 00 00    mov     [dword ptr edx+60h], 0
0x01a05d2 60

44D7EC 0x4cbec 83 C2 60                add     edx, 60h
0x004cbeb 60

44D84B 0x4cc4b 8B 53 60                mov     edx, [ebx+60h]
0x01a05c9 60

44D870 0x4cc70 C7 43 60 01 00 00 00    mov     [dword ptr ebx+60h], 1
0x01a05b2 60

44D8D5 0x4ccd5 8B 53 60                mov     edx, [ebx+60h]
0x01a05a2 60

44D905 0x4cd05 FF 43 60                inc     [dword ptr ebx+60h]
0x004cd07 60

44DA06 0x4ce06 83 7E 60 00             cmp     [dword ptr esi+60h], 0
0x01a0582 60

44DA10 0x4ce10 3B 4E 60                cmp     ecx, [esi+60h]
0x004ce0f 60

44DA38 0x4ce38 8B 7E 60                mov     edi, [esi+60h]
0x01a0552 60

44DA71 0x4ce71 8B 56 60                mov     edx, [esi+60h]
0x01a0527 60

44DA86 0x4ce86 8B 46 60                mov     eax, [esi+60h]
0x004ce7f 60

44DA9C 0x4ce9c FF 4E 60                dec     [dword ptr esi+60h]
0x004ce98 60

44DB1D 0x4cf1d FF 4E 60                dec     [dword ptr esi+60h]
0x004cf19 60

44DB5A 0x4cf5a 8B 42 60                mov     eax, [edx+60h]
0x004cf5c 60

44DB88 0x4cf88 83 79 60 00             cmp     [dword ptr ecx+60h], 0
0x004cf87 60

44DB98 0x4cf98 8B 71 60                mov     esi, [ecx+60h]
0x01a04c2 60

44DBC0 0x4cfc0 8B 41 60                mov     eax, [ecx+60h]
0x01a0511 60

44DBD7 0x4cfd7 8B 41 60                mov     eax, [ecx+60h]
0x004cfd3 60

44DBED 0x4cfed FF 49 60                dec     [dword ptr ecx+60h]
0x004cfec 60

44DC12 0x4d012 FF 49 60                dec     [dword ptr ecx+60h]
0x004d014 60

44DC4C 0x4d04c 83 7A 60 04             cmp     [dword ptr edx+60h], 4
0x004d04e 60                                              ; À

44DC85 0x4d085 83 78 60 00             cmp     [dword ptr eax+60h], 0
0x004d087 60

44DD4E 0x4d14e C7 41 60 00 00 00 00    mov     [dword ptr ecx+60h], 0
0x01a04e2 60

44DD65 0x4d165 8D 51 60                lea     edx, [ecx+60h]
0x004d164 60


64 -> C4 change locations +18h per slot added

44D376 0x4c776 C7 43 64 01 00 00 00    mov     [dword ptr ebx+64h], 1
0x01a05f2 64

44D7E5 0x4cbe5 C7 42 64 01 00 00 00    mov     [dword ptr edx+64h], 1
0x01a05de 64

44D87C 0x4cc7c C7 43 64 01 00 00 00    mov     [dword ptr ebx+64h], 1
0x004cc7b 64

44D8BB 0x4ccbb C7 43 64 01 00 00 00    mov     [dword ptr ebx+64h], 1
0x01a0595 64

44D90D 0x4cd0d C7 43 64 01 00 00 00    mov     [dword ptr ebx+64h], 1
0x004cd12 64

44DA9F 0x4ce9f C7 46 64 01 00 00 00    mov     [dword ptr esi+64h], 1
0x004ce9e 64

44DB20 0x4cf20 C7 46 64 01 00 00 00    mov     [dword ptr esi+64h], 1
0x004cf1f 64

44DB33 0x4cf33 C7 46 64 01 00 00 00    mov     [dword ptr esi+64h], 1
0x01a0572 64

44DBF1 0x4cff1 C7 41 64 01 00 00 00    mov     [dword ptr ecx+64h], 1
0x01a0502 64

44DC16 0x4d016 C7 41 64 01 00 00 00    mov     [dword ptr ecx+64h], 1
0x004d01b 64

44DD55 0x4d155 C7 41 64 01 00 00 00    mov     [dword ptr ecx+64h], 1
0x01a04ec 64


68 -> C8 change locations +18h per slot added

44D005 0x4c405 8B 40 68                mov     eax, [eax+68h] 
0x004c407 68

44D025 0x4c425 89 50 68                mov     [eax+68h], edx
0x004c427 68

44DB9B 0x4cf9b C7 41 68 00 00 00 00    mov     [dword ptr ecx+68h], 0
0x01a04c8 68

44DD5E 0x4d15e C7 41 68 00 00 00 00    mov     [dword ptr ecx+68h], 0
0x004d15a 68

                                              ; È
cmp 4 -> cmp 8 change locations +1 per slot added

44D0BC 0x4c4bc 83 F9 04                cmp     ecx, 4
0x004c4be 04

44D169 0x4c569 83 FA 04                cmp     edx, 4
0x004c56b 04

44D9C7 0x4cdc7 83 F9 04                cmp     ecx, 4 PRODUCTION_QUEUE_MAXSIZE
0x004cdc9 04

44DC4C 0x4d04c 83 7A 60 04             cmp     [dword ptr edx+60h], 4 limit production is full
0x004d052 04

4FD5E3 0xfc9e3 3B 41 04                cmp     eax, [ecx+4]
0x00fc9e5 04

4FDF5F 0xfd35f 83 F9 04                cmp     ecx, 4
0x00fd361 04

cmp 10 -> 20 +4 per slot added

4FDE5F 0xfd25f 8D 58 10                lea     ebx, [eax+10h]
0x00fd261 10 

4FDEBA 0xfd2ba 8D 78 10                lea     edi, [eax+10h]  // hidden cmp 4 -> 20
0x00fd2bc 10 


cmp last entry of sysinfo file +18h per slot added 

44DC57 0x4d057 83 C2 48                add     edx, 48h
0x01a04d6 48


New table # of widgets +1 per slot added
0x01a0406 04


24 -> 34, 28 -> 38, 2C -> 3C, 30 -> 40 change locations +4 per slot added
note: locations did not change.

4FDF36 0xfd336 C7 45 24 00 00 00 00    mov     dword ptr [ebp+24h], 0
4FDF9D 0xfd39d 89 45 28                mov     [ebp+28h], eax
4FDFA5 0xfd3a5 C7 45 2C 00 00 00 00    mov     dword ptr [ebp+2Ch], 0
4FDFAE 0xfd3ae C7 45 30 00 00 00 00    mov     dword ptr [ebp+30h], 0
4FD5D3 0xfc9d3 89 50 24                mov     [eax+24h], edx
4FD5D8 0xfc9d8 8B 48 24                mov     ecx, [eax+24h]
4FD5F3 0xfc9f3 83 78 2C 00             cmp     dword ptr [eax+2Ch], 0
4FD5FE 0xfc9fe FF 51 2C                call    dword ptr [ecx+2Ch]
4FDE30 0xfd230 89 50 2C                mov     [eax+2Ch], edx
4FDE90 0xfd290 C7 40 30 01 00 00 00    mov     dword ptr [eax+30h], 1
4FDEA0 0xfd2a0 C7 40 30 00 00 00 00    mov     dword ptr [eax+30h], 0
4FDECB 0xfd2cb 8B 45 28                mov     eax, [ebp+28h]
4FDC8D 0xfd08d 8B 55 24                mov     edx, [ebp+24h]
4FDC76 0xfd076 8B 55 24                mov     edx, [ebp+24h]
4FDC67 0xfd067 8B 55 24                mov     edx, [ebp+24h]
4FD7D9 0xfcbd9 8B 5D 30                mov     ebx, [ebp+30h]
4FD807 0xfcc07 8B 55 24                mov     edx, [ebp+24h]
4FD87D 0xfcc7d 8B 45 24                mov     eax, [ebp+24h]
4FD98F 0xfcd8f 8B 45 24                mov     eax, [ebp+24h]
4FD9F5 0xfcdf5 8B 45 24                mov     eax, [ebp+24h]
4FDA97 0xfce97 8B 4D 24                mov     ecx, [ebp+24h]


start of new table +0Ch per slot added

0x19f720 
new entry for the table +0Ch per slot added
0D 00 00 00 09 08 00 00 38 02 00 00

first 4 bytes is always "0D 00 00 00" this is for slot type "picture place holder"
second 4 bytes "09 08 00 00" this is for the new id that is in *solar.wdf file and must be unique.
third 4 byte "38 02 00 00" is the trek.exe id this value must be +4 from last id.

as for editing wdfs see this topic
viewtopic.php?p=29870#p29870
and this topic
viewtopic.php?p=29528#p29528
User avatar
Flocke
BORG Trouble Maker
BORG Trouble Maker
Posts: 3196
Joined: Sun Apr 27, 2008 2:00 am
Location: Hamburg, Germany
Contact:

Re: Build Queue project

Post by Flocke »

Well done, and amazing how many changes this required. Leaves me a bit curious for what reason or in what context each of these changes needs to be applied. But I guess you wonder no less on it. :up:
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7848
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: Build Queue project

Post by thunderchero »

Flocke wrote: Tue May 18, 2021 5:41 pm Well done, and amazing how many changes this required. Leaves me a bit curious for what reason or in what context each of these changes needs to be applied. But I guess you wonder no less on it. :up:
TBH, I would never have even gotten this project completed without Spocks-cuddly-tribble support.
so most of the credit should go to him. last week I was ready to give up on gui display of new queue slots.

6C -> CC change locations +18h per slot added
this expanded the sysinfo file to store more build queue's

60 -> C0 change locations +18h per slot added
this moved the offset in the sysinfo file for total in use build queue

64 -> C4 change locations +18h per slot added
this is the next offset in sysinfo unknown use but always 01 00 00 00

68 -> C8 change locations +18h per slot added
this moved the offset for if first queue has been bought 00 00 00 00 (build with industry) 01 00 00 00 (build with credits)

cmp 4 -> cmp 8 change locations +1 per slot added
offsets for the increase of queue's in sysinfo file

cmp 10 -> 20 +4 per slot added
offsets for the increase of queue's in memory

cmp last entry of sysinfo file +18h per slot added
this was a special cmp for multi build items in queue to check if id was in last slot (sysinfo), if not display queue full dialog.

24 -> 34, 28 -> 38, 2C -> 3C, 30 -> 40 change locations +4 per slot added
these from what I understood was increase in memory to allow more room for additional slots to be added in memory. (sct may correct me on this one, or explain better)

problem is there is about 40 sub-sections that I focused on for this project.

at one point I had a very nice list of descriptions of some of the sub-sections and list of changes. But as I was creating one of my list to post last week I went to "save as" to preserve the original, I by mistake clicked "save" and it over wrote all my notes that I made. :sad:

example sub 4FD7B8 the 7 24 -> 34 and 1 30 -> 40 and cmp 4 -> cmp 8 in sub 4FD5D0 was for remove item from build queue.

I might be able to do a general list for descriptions of sub-sections (most info is scattered throughout this topic).
User avatar
Flocke
BORG Trouble Maker
BORG Trouble Maker
Posts: 3196
Joined: Sun Apr 27, 2008 2:00 am
Location: Hamburg, Germany
Contact:

Re: Build Queue project

Post by Flocke »

Thx, your above notes already give a good impression and help understand the many changes.
Shame on the editor you used that it overwrote your notes. *ouch*

I usually keep my notes in Visual Code or SublimeText by now. Both editors auto-save to some temporary path all the time you make a change and often I just click [ctrl+N] for a new file tab and never go to save the new file. Even with the recent system fails or when I accidentally hit my current adapter power switch, I never lost a change. You can close these editors without ever clicking to save and the next time you open the app, the changes are still there.

Nonetheless, great effort you made and ofc great support by the cuddly Tribble!
User avatar
Martok
Rear-Admiral
Rear-Admiral
Posts: 1208
Joined: Thu May 01, 2008 2:00 am

Re: Build Queue project

Post by Martok »

Amazing work. Thank you, TC and SCT!
"Evil is easy, and has infinite forms." -- Pascal
User avatar
Axis
Commander
Commander
Posts: 489
Joined: Sun Aug 16, 2015 8:28 am
Location: Finland
Contact:

Re: Build Queue project

Post by Axis »

Obviously, the pink box should "vanish" if you find the slot image file and paint all pink black (If you want it to be black).
Impress the Empress.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7848
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: Build Queue project

Post by thunderchero »

Axis wrote: Fri May 28, 2021 7:19 am Obviously, the pink box should "vanish" if you find the slot image file and paint all pink black (If you want it to be black).
that issue has been solved, I have also added patch to first post of this topic.
User avatar
Axis
Commander
Commander
Posts: 489
Joined: Sun Aug 16, 2015 8:28 am
Location: Finland
Contact:

Re: Build Queue project with 4 new slots

Post by Axis »

Remembered a few years old idea about culture production buildings.
Could it be possible to add a sixth type of production building(s) to the game.
Feds could have holodecks, the Ferengi holosuites etc.

This culture building type would give morale in a system, just like factories give industry.
Maybe morale in the game should be revamped a bit in order for it to work, so that morale comes mainly from those buildings.
Of course battle victories would bring empire-wide boost and those minor race buildings too, but maybe not so much as they do now.

This would bring a little more depth to strategy.

Could be a bonus for Supremacy too.
Impress the Empress.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7848
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: Build Queue project with 4 new slots

Post by thunderchero »

Update but sad news,

currently this project is not compatible in multiplayer game.

no crash log and windows event viewer looks to be worthless.

event viewer gives these 2 locations (1 for each player that crashes?) I tested on same system with MPR++
531212 0x00130612 (QD label = I3DDB_CPP_5311A0) (SCT label = palette_3D_eaxHOB_prepare_object)
44e12a 0x0004d52a (QD label = Game_GameStat_44E090) (SCT label = victoryCheck)

crash happens as soon as turn processing start. (I think 1 player had combat with minor)
prior to that I can save and load (turn 0) and from what I can tell sysinfo file has correct info for all systems for build queue.

I will try to get it figured out but not even sure where to start at this moment.

note this test was done on UDM, I will test with vanilla tomorrow. I hope this is a conflict with victory check.

Edit; same crash is also happening on vanilla, in debugger it is crashing on when joining player clicks turn

Code: Select all

0044D52A F2 A5                   repne movsd
there is some changes for 6C (size of build queue in sysinfo) but not sure why code stops at that point.

if host clicks turn first it will crash at

Code: Select all

00530612 89 79 02                mov     [ecx+2], edi
this is labeled (QD = shi_freeVar) or (SCT = sub_5305BC) I think this is a memory sub-routine?

What I did not expect when joining player clicks turn code starts running and crashes before host even clicks turn, I expected it to wait until all players have clicked turn, and it is vice versa for host clicking turn first.
Post Reply

Return to “General Modding Information/Questions”