Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. Include store in hospital jobs when recomputing counters
- 0x68a63
- 0F 85 58 01 00 00
- 90 90 90 90 90 90
- <<<<
- .text:00469663 jnz loc_4697C1
- ====
- .text:00469663 nop
- .text:00469664 nop
- .text:00469665 nop
- .text:00469666 nop
- .text:00469667 nop
- .text:00469668 nop
- >>>>
- - if (job->getBuildingRef(BUILDING_DESTINATION) != this) continue;
- + // NOP
- This reference points to the containers, not the hospital civzone.
- Since fixing this properly is too hard for a patch, just remove the
- check. Most people have only one hospital anyway, and it is better
- to err on the side of caution here.
- 2. Make the stockpiling code increment the right stock counters
- 0x3dcbf9
- 8B 0C 90 8B 81 80 00 00 00
- 8B 3C 90 8B 87 80 00 00 00
- <<<<
- .text:007DD7F9 mov ecx, [eax+edx*4]
- .text:007DD7FC mov eax, [ecx+80h]
- ====
- .text:007DD7F9 mov edi, [eax+edx*4]
- .text:007DD7FC mov eax, [edi+80h]
- >>>>
- - id = civzones[i]->children[child_idx[i]]->id
- + cur_civzone = civzones[i] // existing var from previous loop
- + id = cur_civzone->children[child_idx[i]]->id
- The reason being, later code uses that var (at this point containing
- useless data) to increment counters and amounts in the hospital.
- ---8<---
- This difference file is created by The Interactive Disassembler
- Dwarf Fortress.exe
- 00068A63: 0F 90
- 00068A64: 85 90
- 00068A65: 58 90
- 00068A66: 01 90
- 00068A67: 00 90
- 00068A68: 00 90
- 003DCBFA: 0C 3C
- 003DCBFD: 81 87
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement