Skip to content

Commit ee9b46f

Browse files
committed
swars: Preparing for BAT_play() rewrite
1 parent bcee551 commit ee9b46f

2 files changed

Lines changed: 39 additions & 25 deletions

File tree

src/bat.c

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,18 @@ struct BreakoutLevel {
4040
ubyte field_4[120];
4141
};
4242

43+
struct BATItem;
44+
45+
struct BATItem {
46+
int UnkDw0;
47+
int UnkDw1;
48+
int UnkDw2[4];
49+
int UnkDw6;
50+
int UnkDw7;
51+
struct BATItem *UnkDw8;
52+
struct BATItem **UnkDw9;
53+
};
54+
4355
#pragma pack()
4456

4557
extern int BAT_data_1e26e8;
@@ -57,12 +69,14 @@ extern ubyte BAT_data_1e271c[120];
5769
extern int BAT_paddle_x;
5870
extern int BAT_data_1e2798;
5971
extern ubyte BAT_byte_1e279c;
60-
extern char BAT_btarr_1e27a0[32];
72+
extern void *BAT_btarr_1e27a0[8];
6173
extern void *BAT_dwarr_1e27c0[312];
62-
extern void *BAT_ptr_1e2ca0;
63-
extern int BAT_data_1e2ca4;
74+
extern struct BATItem *BAT_ptr_1e2ca0;
75+
extern struct BATItem *BAT_data_1e2ca4;
6476
extern int BAT_data_1e2ca8;
77+
extern ubyte BAT_btarr_1e2cbc[16];
6578
extern void *BAT_dwarr_1e2ccc[92];
79+
extern void *BAT_ptr_1e2e3c;
6680
extern int BAT_data_1e2e40;
6781

6882
extern struct BreakoutLevel BAT_levels[];

src/bat_s.sx

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -178,15 +178,15 @@ GLOBAL_FUNC(ASM_breakout_play_sub1) /* 0x0DD210 */
178178
mov 0x14(%ecx),%edx
179179
mov %edx,0x14(%ebx)
180180
jump_dd29e:
181-
mov data_1e2e3c,%ebx
181+
mov EXPORT_SYMBOL(BAT_ptr_1e2e3c),%ebx
182182
test %ebx,%ebx
183183
je jump_dd583
184184
mov %ebx,%edx
185185
mov %ebx,0x10(%eax)
186186
lea 0x10(%eax),%ebx
187187
mov %ebx,0x14(%edx)
188-
mov %eax,data_1e2e3c
189-
movl $data_1e2e3c,0x14(%eax)
188+
mov %eax,EXPORT_SYMBOL(BAT_ptr_1e2e3c)
189+
movl $EXPORT_SYMBOL(BAT_ptr_1e2e3c),0x14(%eax)
190190
jmp jump_dd58d
191191

192192

@@ -208,14 +208,14 @@ func_dd2c8:
208208
mov 0x14(%ecx),%ebx
209209
mov %ebx,0x14(%edx)
210210
jump_dd2f3:
211-
mov data_1e2e3c,%edx
211+
mov EXPORT_SYMBOL(BAT_ptr_1e2e3c),%edx
212212
test %edx,%edx
213213
je jump_dd577
214214
lea 0x10(%eax),%ebx
215215
mov %edx,0x10(%eax)
216216
mov %ebx,0x14(%edx)
217-
mov %eax,data_1e2e3c
218-
movl $data_1e2e3c,0x14(%eax)
217+
mov %eax,EXPORT_SYMBOL(BAT_ptr_1e2e3c)
218+
movl $EXPORT_SYMBOL(BAT_ptr_1e2e3c),0x14(%eax)
219219
jmp jump_dd58d
220220

221221

@@ -442,11 +442,11 @@ func_dd557:
442442
ja jump_dd2dd
443443
jmp *%cs:vtable_dd1f4(,%eax,4)
444444
jump_dd577:
445-
movl $data_1e2e3c,0x14(%eax)
445+
movl $EXPORT_SYMBOL(BAT_ptr_1e2e3c),0x14(%eax)
446446
mov %edx,0x10(%eax)
447447
jmp jump_dd58d
448448
jump_dd583:
449-
movl $data_1e2e3c,0x14(%eax)
449+
movl $EXPORT_SYMBOL(BAT_ptr_1e2e3c),0x14(%eax)
450450
mov %ebx,0x10(%eax)
451451
jump_dd58d:
452452
mov %esi,%ecx
@@ -785,14 +785,14 @@ BAT_unknsub_28: /* 0x0DD878 */
785785
jge jump_dd978
786786
mov $0x6,%eax
787787
jump_dd90c:
788-
mov data_1e2e3c,%edx
788+
mov EXPORT_SYMBOL(BAT_ptr_1e2e3c),%edx
789789
test %edx,%edx
790790
je jump_dd95e
791791
mov 0x10(%edx),%esi
792-
mov %esi,data_1e2e3c
792+
mov %esi,EXPORT_SYMBOL(BAT_ptr_1e2e3c)
793793
test %esi,%esi
794794
je jump_dd92a
795-
movl $data_1e2e3c,0x14(%esi)
795+
movl $EXPORT_SYMBOL(BAT_ptr_1e2e3c),0x14(%esi)
796796
jump_dd92a:
797797
mov EXPORT_SYMBOL(BAT_data_1e2e40),%edi
798798
test %edi,%edi
@@ -973,20 +973,20 @@ GLOBAL_FUNC (ASM_BAT_unknsub_20) /* 0xDDB64 */
973973
mov %ecx,data_1e27c4(%esi)
974974
cmp $0x1f,%edx
975975
jl jump_ddc64
976-
mov $data_1e2cbc,%ebp
976+
mov $EXPORT_SYMBOL(BAT_btarr_1e2cbc),%ebp
977977
xor %ecx,%ecx
978978
xor %edx,%edx
979979
mov %ecx,EXPORT_SYMBOL(BAT_data_1e2ca4)
980-
mov %ebp,data_1e2e3c
980+
mov %ebp,EXPORT_SYMBOL(BAT_ptr_1e2e3c)
981981
mov %ecx,EXPORT_SYMBOL(BAT_dwarr_1e27c0)(%eax)
982-
mov $data_1e2e3c,%eax
982+
mov $EXPORT_SYMBOL(BAT_ptr_1e2e3c),%eax
983983
lea 0x18(%ebp),%ebx
984984
mov %eax,data_1e2cd0
985985
xor %eax,%eax
986986
jump_ddcb3:
987987
inc %edx
988988
imul $0x18,%edx,%ecx
989-
mov $data_1e2cbc,%esi
989+
mov $EXPORT_SYMBOL(BAT_btarr_1e2cbc),%esi
990990
mov %ebx,EXPORT_SYMBOL(BAT_dwarr_1e2ccc)(%eax)
991991
add %eax,%esi
992992
add $0x18,%ebx
@@ -2207,7 +2207,7 @@ breakout_func_de991:
22072207
mov %edx,%eax
22082208
shl $0x5,%eax
22092209
sub %edx,%eax
2210-
mov breakout_levs(,%eax,4),%edi
2210+
mov EXPORT_SYMBOL(BAT_levels)(,%eax,4),%edi
22112211
push %edi
22122212
push $ascS_8
22132213
jump_debd1:
@@ -3225,11 +3225,11 @@ func_df554:
32253225
mov %esi,data_1e27c4(%ecx)
32263226
cmp $0x1f,%edx
32273227
jl jump_df842
3228-
mov $data_1e2cbc,%ecx
3228+
mov $EXPORT_SYMBOL(BAT_btarr_1e2cbc),%ecx
32293229
xor %edx,%edx
3230-
mov $data_1e2e3c,%esi
3230+
mov $EXPORT_SYMBOL(BAT_ptr_1e2e3c),%esi
32313231
mov %edx,EXPORT_SYMBOL(BAT_data_1e2ca4)
3232-
mov %ecx,data_1e2e3c
3232+
mov %ecx,EXPORT_SYMBOL(BAT_ptr_1e2e3c)
32333233
mov %esi,data_1e2cd0
32343234
mov %edx,EXPORT_SYMBOL(BAT_dwarr_1e27c0)(%eax)
32353235
lea 0x18(%ecx),%ebx
@@ -3353,7 +3353,7 @@ data_155873:
33533353
.align 4
33543354

33553355

3356-
breakout_levs:
3356+
GLOBAL (BAT_levels) /* 0x155878 */
33573357
.long aBreakoutDestroyTheBric
33583358
breakout_levs0__bricks:
33593359
.ascii "\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80"
@@ -3568,13 +3568,13 @@ data_1e2cb0:
35683568
.long 0x0
35693569
data_1e2cb4:
35703570
.fill 0x8
3571-
data_1e2cbc:
3571+
GLOBAL (BAT_btarr_1e2cbc) /* 0x1e2cbc */
35723572
.fill 0x10
35733573
GLOBAL (BAT_dwarr_1e2ccc) /* 0x1e2ccc */
35743574
.long 0x0
35753575
data_1e2cd0:
35763576
.fill 0x16c
3577-
data_1e2e3c:
3577+
GLOBAL (BAT_ptr_1e2e3c) /* 0x1e2e3c */
35783578
.long 0x0
35793579
GLOBAL (BAT_data_1e2e40) /* 0x1e2e40 */
35803580
.long 0x0

0 commit comments

Comments
 (0)