Stationeers-IC10/advanced_furbace_advanced_alloys.asm

123 lines
2.4 KiB
NASM
Raw Permalink Normal View History

alias Dial d0
alias Lever d1
alias AdvFurnace d2
alias IC10Alloys d3
alias minPressure r15
alias maxPressure r14
alias minTemperature r13
alias maxTemperature r12
alias TFuel r11
alias Ingot r10
alias FPressure r9
alias FTemperature r8
alias OutputPump r7
alias PressureFuel r6
off:
move TFuel 0
s AdvFurnace Open 0
s AdvFurnace SettingInput 0
s AdvFurnace SettingOutput 0
main:
l r0 Dial Setting
ble r0 4 IngotAlloys
beq r0 5 IngotAstroloy
beq r0 6 IngotHastelloy
beq r0 7 IngotInconel
beq r0 8 IngotStellite
beq r0 9 IngotWaspaloy
j main
IngotAlloys:
l r0 d3 Setting
s db Setting r0
j main
IngotAstroloy:
l r0 Dial Setting
bne r0 5 main
s db Setting 412924554
move Ingot 412924554
move minPressure 5000
move maxPressure 6000
move minTemperature 1200
move maxTemperature 1400
move OutputPump 65
move PressureFuel 0.05
l r1 Lever Setting
beq r1 1 Smelting
j IngotAstroloy
IngotHastelloy:
l r0 Dial Setting
bne r0 6 main
s db Setting 1579842814
move Ingot 1579842814
move minPressure 2500
move maxPressure 3000
move minTemperature 950
move maxTemperature 1000
move OutputPump 20
move PressureFuel 0.05
l r1 Lever Setting
beq r1 1 Smelting
j IngotHastelloy
IngotInconel:
l r0 Dial Setting
bne r0 7 main
s db Setting -787796599
move Ingot -787796599
move minPressure 4250
move maxPressure 4750
move minTemperature 1200
move maxTemperature 1300
move OutputPump 30
move PressureFuel 0.05
l r1 Lever Setting
beq r1 1 Smelting
j IngotInconel
IngotStellite:
l r0 Dial Setting
bne r0 8 main
s db Setting -1897868623
move Ingot -1897868623
move minPressure 4000
move maxPressure 5000
move minTemperature 1700
move maxTemperature 1900
move OutputPump 90
move PressureFuel 0.5
l r1 Lever Setting
beq r1 1 Smelting
j IngotStellite
IngotWaspaloy:
l r0 Dial Setting
bne r0 9 main
s db Setting 156348098
move Ingot 156348098
move minPressure 1250
move maxPressure 2750
move minTemperature 875
move maxTemperature 1000
move OutputPump 20
move PressureFuel 0.05
l r1 Lever Setting
beq r1 1 Smelting
j IngotWaspaloy
Smelting:
s db Setting 0
s AdvFurnace Activate 1
l FPressure AdvFurnace Pressure
slt r0 FPressure minPressure
l FTemperature AdvFurnace Temperature
slt r2 FTemperature minTemperature
add r1 r0 r2
select r0 r1 TFuel 0
s AdvFurnace SettingInput r0
add TFuel TFuel PressureFuel
l FPressure AdvFurnace Pressure
sgt r0 FPressure maxPressure
select r3 r0 OutputPump 0
s AdvFurnace SettingOutput r3
l r4 AdvFurnace RecipeHash
seq r4 r4 Ingot
s AdvFurnace Open r4
l r4 Lever Open
beq r4 0 off
j Smelting