example/bsp: add katdm3

This commit is contained in:
Zack Buhman 2025-04-26 01:05:45 -05:00
parent 1ff9968eec
commit 664813acb2
100 changed files with 2764 additions and 12 deletions

View File

@ -39,7 +39,7 @@ endef
makefile_path := $(dir $(abspath $(firstword $(MAKEFILE_LIST))))
makefile_relative = $(shell realpath --relative-to $(makefile_path) $(1))
as_obj_binary = _binary_$(subst .,_,$(subst /,_,$(subst .h,,$(call makefile_relative,$(1)))))
as_obj_binary = _binary_$(subst -,_,$(subst .,_,$(subst /,_,$(subst .h,,$(call makefile_relative,$(1))))))
define BUILD_BINARY_H
@echo gen $(call makefile_relative,$@)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_baseq3_models_mapobjects_skel_skel_data_start __asm("_binary_bsp_baseq3_models_mapobjects_skel_skel_data_start");
extern uint32_t _binary_bsp_baseq3_models_mapobjects_skel_skel_data_end __asm("_binary_bsp_baseq3_models_mapobjects_skel_skel_data_end");
extern uint32_t _binary_bsp_baseq3_models_mapobjects_skel_skel_data_size __asm("_binary_bsp_baseq3_models_mapobjects_skel_skel_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_baseq3_textures_gothic_block_blocks18b_data_start __asm("_binary_bsp_baseq3_textures_gothic_block_blocks18b_data_start");
extern uint32_t _binary_bsp_baseq3_textures_gothic_block_blocks18b_data_end __asm("_binary_bsp_baseq3_textures_gothic_block_blocks18b_data_end");
extern uint32_t _binary_bsp_baseq3_textures_gothic_block_blocks18b_data_size __asm("_binary_bsp_baseq3_textures_gothic_block_blocks18b_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_baseq3_textures_gothic_block_smblk3b3dim_wall_data_start __asm("_binary_bsp_baseq3_textures_gothic_block_smblk3b3dim_wall_data_start");
extern uint32_t _binary_bsp_baseq3_textures_gothic_block_smblk3b3dim_wall_data_end __asm("_binary_bsp_baseq3_textures_gothic_block_smblk3b3dim_wall_data_end");
extern uint32_t _binary_bsp_baseq3_textures_gothic_block_smblk3b3dim_wall_data_size __asm("_binary_bsp_baseq3_textures_gothic_block_smblk3b3dim_wall_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_baseq3_textures_gothic_floor_largerblock3b3x128_data_start __asm("_binary_bsp_baseq3_textures_gothic_floor_largerblock3b3x128_data_start");
extern uint32_t _binary_bsp_baseq3_textures_gothic_floor_largerblock3b3x128_data_end __asm("_binary_bsp_baseq3_textures_gothic_floor_largerblock3b3x128_data_end");
extern uint32_t _binary_bsp_baseq3_textures_gothic_floor_largerblock3b3x128_data_size __asm("_binary_bsp_baseq3_textures_gothic_floor_largerblock3b3x128_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_border2_data_start __asm("_binary_bsp_baseq3_textures_gothic_trim_border2_data_start");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_border2_data_end __asm("_binary_bsp_baseq3_textures_gothic_trim_border2_data_end");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_border2_data_size __asm("_binary_bsp_baseq3_textures_gothic_trim_border2_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_data_start __asm("_binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_data_start");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_data_end __asm("_binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_data_end");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_data_size __asm("_binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_a_data_start __asm("_binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_a_data_start");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_a_data_end __asm("_binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_a_data_end");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_a_data_size __asm("_binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_a_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_metalsupport4small_data_start __asm("_binary_bsp_baseq3_textures_gothic_trim_metalsupport4small_data_start");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_metalsupport4small_data_end __asm("_binary_bsp_baseq3_textures_gothic_trim_metalsupport4small_data_end");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_metalsupport4small_data_size __asm("_binary_bsp_baseq3_textures_gothic_trim_metalsupport4small_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_metalsupsolid_data_start __asm("_binary_bsp_baseq3_textures_gothic_trim_metalsupsolid_data_start");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_metalsupsolid_data_end __asm("_binary_bsp_baseq3_textures_gothic_trim_metalsupsolid_data_end");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_metalsupsolid_data_size __asm("_binary_bsp_baseq3_textures_gothic_trim_metalsupsolid_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_supportborder_data_start __asm("_binary_bsp_baseq3_textures_gothic_trim_supportborder_data_start");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_supportborder_data_end __asm("_binary_bsp_baseq3_textures_gothic_trim_supportborder_data_end");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_supportborder_data_size __asm("_binary_bsp_baseq3_textures_gothic_trim_supportborder_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_tower_top_data_start __asm("_binary_bsp_baseq3_textures_gothic_trim_tower_top_data_start");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_tower_top_data_end __asm("_binary_bsp_baseq3_textures_gothic_trim_tower_top_data_end");
extern uint32_t _binary_bsp_baseq3_textures_gothic_trim_tower_top_data_size __asm("_binary_bsp_baseq3_textures_gothic_trim_tower_top_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_baseq3_textures_gothic_wall_streetbricks10_data_start __asm("_binary_bsp_baseq3_textures_gothic_wall_streetbricks10_data_start");
extern uint32_t _binary_bsp_baseq3_textures_gothic_wall_streetbricks10_data_end __asm("_binary_bsp_baseq3_textures_gothic_wall_streetbricks10_data_end");
extern uint32_t _binary_bsp_baseq3_textures_gothic_wall_streetbricks10_data_size __asm("_binary_bsp_baseq3_textures_gothic_wall_streetbricks10_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_baseq3_textures_sfx_flame1_data_start __asm("_binary_bsp_baseq3_textures_sfx_flame1_data_start");
extern uint32_t _binary_bsp_baseq3_textures_sfx_flame1_data_end __asm("_binary_bsp_baseq3_textures_sfx_flame1_data_end");
extern uint32_t _binary_bsp_baseq3_textures_sfx_flame1_data_size __asm("_binary_bsp_baseq3_textures_sfx_flame1_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1,11 +1,11 @@
while read line; do
filename=$(ls "$line".{tga,jpg} 2>/dev/null)
filename=$(ls */"$line".{tga,jpg} 2>/dev/null)
if [ -z $filename ]; then
continue;
fi
name="${filename%.*}"
data_name="${name}.data"
echo $data_name
python ~/model_generator/color_convert.py $filename rgb565 twiddled $data_name
(cd .. ; make pk/${data_name}.h)
done < textures.txt
python ~/model_generator/color_convert.py $filename rgb565 twiddled mipmapped $data_name
(cd .. ; make bsp/${data_name}.h)
done

191
bsp/katdm3/katdm3.htm Normal file
View File

@ -0,0 +1,191 @@
<html>
<!-- #BeginTemplate "/Templates/TEMPLATE_map-info-readme.dwt" -->
<head>
<!-- #BeginEditable "doctitle" -->
<title>Quake3Arena - custom map readme</title>
<!-- #EndEditable -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#000000" text="#000000" link="#FFFFFF">
<!-- #BeginEditable "body" -->
<table width="600" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td bgcolor="#333333" width="15" height="10"><font color="#CCCCCC" size="2" face="Arial, Helvetica, sans-serif">&nbsp;
&nbsp;</font></td>
<td bgcolor="#333333" width="585" height="10"><font color="#CCCCCC" size="3" face="Arial, Helvetica, sans-serif"><b>Map
and General Information</b></font></td>
</tr>
<tr>
<td width="15" height="10"></td>
<td width="585" height="10"></td>
</tr>
<tr>
<td colspan="2" height="10">
<div align="center"><img src="katdm3.jpg" width="512" height="512"></div>
</td>
</tr>
<tr>
<td width="15" height="10"></td>
<td width="585" height="10"></td>
</tr>
<tr bgcolor="#333333">
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10"><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2"><i><b>information</b></i></font></td>
</tr>
<tr>
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10">
<blockquote>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2">Title
: <i>katdm3</i><br>
Name: <i><b>inner</b>sanctum<br>
</i></font><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2">Date
: <i>31st Dec 2002 [dd/mm/yyy]</i> - this ones been sat on the harddrive
for far to long and needs some air..!<br>
PK3 file : <i>map-katdm3.pk3</i><br>
Filename : <i>katdm3.bsp</i><br>
Author :<i> Ken 'kat' Beyer</i><br>
Email Address : <i><a href="mailto:info@quake3bits.co.uk?subject=q3a maps [readme-temple]">info@quake3bits.com</a>
(subject 'maps')</i><br>
Website : <i><a href="http://www.quake3bits.co.uk" target="_blank">http://www.quake3bits.co.uk</a>
(currently @..!!)</i><br>
Forum : <a href="http://www.cpdt.com/forum" target="_blank"><i>http://www.cpdt.com/forum</i></a><br>
Description : <i>a rocky challange, plenty of powerups, close combat...!</i></font></p>
</blockquote>
</td>
</tr>
<tr>
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10">&nbsp;</td>
</tr>
<tr bgcolor="#333333">
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10"><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2"><b><i>additional
credits</i></b></font></td>
</tr>
<tr>
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10">
<blockquote>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2">:
ID Software for allowing us to do what we do to the game!<br>
: Map testers - <a href="http://www.emsipe.com" target="_blank">EMSIPE</a>,
<a href="http://www.planetquake.com/qkennyq/" target="_blank">QkennyQ</a>,
<a href="http://www.eskimoroll.co.uk" target="_blank">Eskimo Roll</a>
Q3W level editing forum<br>
: guys @ <a href="http://www.quake3world.com/forums" target="_blank">Q3W-LE</a>
(not in order of appearence..!)<br>
: <a href="http://www.planetquake.com/butterb/">ButterB</a>, Unitool,
Castle, wviperw, arshishb, krekits, (not forgetting...) <a href="http://www.planetquake.com/pjw/" target="_blank">pjw</a>,
cavefish, rrroooaaarrr, Whiskey7, <a href="http://members.austarmetro.com.au/%7Emuttly/" target="_blank">Muttly</a>,
and anybody else I've fogotten to mention...!<br>
</font>
</blockquote>
</td>
</tr>
<tr>
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10">&nbsp;</td>
</tr>
<tr bgcolor="#333333">
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10"><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2"><b><i>gameplay
information</i></b></font></td>
</tr>
<tr>
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10">
<blockquote>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2">Game
type : <i>ffa, tourney</i></font></p>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2">Players
: <i>4 players (suggested max)</i><br>
Bots : <i>Yes : (optimized) major, klesk, Uriel</i><br>
Weapons : <i>RocketLauncher, ShotGun, GranadeLauncher, PlasmaGun</i><br>
PowerUps : <i> Quad, Invis, MegaHealth</i></font></p>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2"><br>
Unzip the the zip file 'map-katdm3.zip' into your quake3/baseq3 directory
or copy/paste/move 'map-katdm3.pk3' into the baseq3 folder.</font></p>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2">Start
Quake3Arena, click 'Skermish' and either select 'midnight' from your
map list (picture with 'nidnight' text on it) or press 'tilde' (USA)
or the key above the 'tab' key (UK) to enter the console and type:</font></p>
<blockquote>
<p><font face color="#cccccc"><code size="2">&quot;/map katdm3&quot;</code></font></p>
</blockquote>
</blockquote>
</td>
</tr>
<tr>
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10">&nbsp;</td>
</tr>
<tr bgcolor="#333333">
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10"><font color="#CCCCCC" size="2" face="Arial, Helvetica, sans-serif"><i><b>construction</b></i></font></td>
</tr>
<tr>
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10">
<blockquote>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2">Base
: <i>original</i><br>
Editor(s) used : <i>GtKRadiant 1.1-TA beta</i>, GTK1.2.10, q3map2 -
2.3.23<br>
Known Bugs : <i>Haven't discovered any yet but let me know if you do..!
</i> </font></p>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2">Build
Time : <i>well over 12 months..!!</i></font></p>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2">Textures
used : <i>custom, re-edited ID and default</i></font></p>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2">Sound
: n/a</font></p>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2"><b><i>compile
machine </i></b><br>
<i>: Athlon 1.2ghz<br>
: 768megs RAM, GForce MX2 32mb</i></font></p>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2"><b><i>q3map
compile Time</i></b><br>
: TOTAL - 10mins (fullVis, -light -filter -patchshadows -super2)</font></p>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2">Brushes
: c.2871<br>
Entities : c.388</font></p>
</blockquote>
</td>
</tr>
<tr>
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10">&nbsp;</td>
</tr>
<tr bgcolor="#333333">
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10"><font face="Arial, Helvetica, sans-serif" size="2" color="#CCCCCC"><b><i>mics
info</i></b></font></td>
</tr>
<tr>
<td width="15" height="10">&nbsp;</td>
<td width="585" height="10">
<blockquote>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2">Distribution
/ Copyright / Permissions<br>
Feel free to distribute the files AS IS. All I ask is you give credit
where it's due! Do not edit this text file under pain of a good spanking..!.</font></p>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2">Copyright
&copy; 2003 Ken Beyer (<a href="mailto:info@quake3bits.com?subject=q3a maps [readme-temple]">info@quake3bits.com</a>
- subject 'maps')</font></p>
<p><font color="#CCCCCC" face="Arial, Helvetica, sans-serif" size="2"><br>
Quake III Arena is a registered trademark of id Software, Inc.</font></p>
</blockquote>
</td>
</tr>
<tr>
<td width="15" height="10">
<p>&nbsp;</p>
</td>
<td width="585" height="10">&nbsp;</td>
</tr>
</table>
<!-- #EndEditable -->
</body>
<!-- #EndTemplate -->
</html>

BIN
bsp/katdm3/katdm3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -0,0 +1,82 @@
* Map and General Information *
Information
================================================================
Title : Midnight
Date : 31st Dec 02
PK3 file : map-katdm3.pk3
Filename : katdm3.bsp
Author : Ken 'kat' Beyer
Email Address : cpdt@telinco.co.uk (subject 'maps')
Website : http://www.quake3bits.co.uk
Forum : http://www.cpdt.com/forum
Description :
:
Additional Credits
: ID Software for allowing us to do what we do to the game!
: Map testers - EMSIPE, QkennyQ, Eskimo Roll
: guys @ Q3W-LE (not in order of appearence..!)
: ButterB, Unitool, Castle, wviperw, arshishb, krekits, (not forgetting...) pjw, cavefish, rrroooaaarrr, Whiskey7, Muttly, and anybody else I've fogotten to mention...!
: torch model by ken 'kat' beyer
: 'Oak' Trees by GrimReaper
: ....anybody else I've forgotten to mention..!
================================================================
Play Information
Game type : Undecided as of now..!
Players : 4 players (recommended)
Bots : Yes. (aas included - 'optimized')
Weapons : RocketLauncher, PlasmaGun, ShotGun, Granade Launcher
Power Ups : Quad, Invisibility, Mega Health
Remove the previous beta if you installed it. Unzip the the zip file 'map-katdm3.zip' into your quake3/baseq3 directory or copy/paste/move 'map-katdm5.pk3' from WinZip into the baseq3 folder.
Start Quake3Arena or Team Arena, click 'Skermish/Start Server' and either select 'katdm5' from your map list or press 'tilde' (USA) or the key above the 'tab' key (UK) to enter the console and type:
"/map katdm3"
================================================================
Construction
Base : nothing
Editor(s) used : GTKRadiant 1.1TAbeta, GTK 1.1.1 (BobsToolz), Q3ME (front end compiler)
Known Bugs : Haven't discovered any yet but let me know if you do..!
Build Time : well over 12 months
Textures used : Custom
:
Sound : n/a
Compile machine
: Athlon 1.2
: 768megs RAM, Gforce2 MX 32MB
q3map compile Time
: TOTAL - 1hr mins
Brushes :
Entities :
===============================================================
Distribution / Copyright / Permissions
Feel free to distribute the files AS IS. All I ask is you give credit where it's due! Do not edit this text file under pain of a good spanking..!.
Copyright © 2002 Ken Beyer (cpdt@telinco.co.uk - subject 'maps')
Quake III Arena is a registered trademark of id Software, Inc.

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
bsp/katdm3/map-katdm3.pk3 Normal file

Binary file not shown.

BIN
bsp/katdm3/maps/katdm3.aas Normal file

Binary file not shown.

BIN
bsp/katdm3/maps/katdm3.bsp Normal file

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_maps_katdm3_bsp_start __asm("_binary_bsp_katdm3_maps_katdm3_bsp_start");
extern uint32_t _binary_bsp_katdm3_maps_katdm3_bsp_end __asm("_binary_bsp_katdm3_maps_katdm3_bsp_end");
extern uint32_t _binary_bsp_katdm3_maps_katdm3_bsp_size __asm("_binary_bsp_katdm3_maps_katdm3_bsp_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_models_mapobjects_kt_torch_kt_torch_data_start __asm("_binary_bsp_katdm3_models_mapobjects_kt_torch_kt_torch_data_start");
extern uint32_t _binary_bsp_katdm3_models_mapobjects_kt_torch_kt_torch_data_end __asm("_binary_bsp_katdm3_models_mapobjects_kt_torch_kt_torch_data_end");
extern uint32_t _binary_bsp_katdm3_models_mapobjects_kt_torch_kt_torch_data_size __asm("_binary_bsp_katdm3_models_mapobjects_kt_torch_kt_torch_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_models_mapobjects_oak_oakblaetter_data_start __asm("_binary_bsp_katdm3_models_mapobjects_oak_oakblaetter_data_start");
extern uint32_t _binary_bsp_katdm3_models_mapobjects_oak_oakblaetter_data_end __asm("_binary_bsp_katdm3_models_mapobjects_oak_oakblaetter_data_end");
extern uint32_t _binary_bsp_katdm3_models_mapobjects_oak_oakblaetter_data_size __asm("_binary_bsp_katdm3_models_mapobjects_oak_oakblaetter_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_models_mapobjects_oak_oakstamm_data_start __asm("_binary_bsp_katdm3_models_mapobjects_oak_oakstamm_data_start");
extern uint32_t _binary_bsp_katdm3_models_mapobjects_oak_oakstamm_data_end __asm("_binary_bsp_katdm3_models_mapobjects_oak_oakstamm_data_end");
extern uint32_t _binary_bsp_katdm3_models_mapobjects_oak_oakstamm_data_size __asm("_binary_bsp_katdm3_models_mapobjects_oak_oakstamm_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

View File

@ -0,0 +1,8 @@
{
map "katdm3"
bots "klesk major uriel"
longname "inner sanctum"
fraglimit 10
timelimit 20
type "ffa team"
}

View File

@ -0,0 +1,82 @@
* Map and General Information *
Information
================================================================
Title : Midnight
Date : 31st Dec 02
PK3 file : map-katdm3.pk3
Filename : katdm3.bsp
Author : Ken 'kat' Beyer
Email Address : cpdt@telinco.co.uk (subject 'maps')
Website : http://www.quake3bits.co.uk
Forum : http://www.cpdt.com/forum
Description :
:
Additional Credits
: ID Software for allowing us to do what we do to the game!
: Map testers - EMSIPE, QkennyQ, Eskimo Roll
: guys @ Q3W-LE (not in order of appearence..!)
: ButterB, Unitool, Castle, wviperw, arshishb, krekits, (not forgetting...) pjw, cavefish, rrroooaaarrr, Whiskey7, Muttly, and anybody else I've fogotten to mention...!
: torch model by ken 'kat' beyer
: 'Oak' Trees by GrimReaper
: ....anybody else I've forgotten to mention..!
================================================================
Play Information
Game type : Undecided as of now..!
Players : 4 players (recommended)
Bots : Yes. (aas included - 'optimized')
Weapons : RocketLauncher, PlasmaGun, ShotGun, Granade Launcher
Power Ups : Quad, Invisibility, Mega Health
Remove the previous beta if you installed it. Unzip the the zip file 'map-katdm3.zip' into your quake3/baseq3 directory or copy/paste/move 'map-katdm5.pk3' from WinZip into the baseq3 folder.
Start Quake3Arena or Team Arena, click 'Skermish/Start Server' and either select 'katdm5' from your map list or press 'tilde' (USA) or the key above the 'tab' key (UK) to enter the console and type:
"/map katdm3"
================================================================
Construction
Base : nothing
Editor(s) used : GTKRadiant 1.1TAbeta, GTK 1.1.1 (BobsToolz), Q3ME (front end compiler)
Known Bugs : Haven't discovered any yet but let me know if you do..!
Build Time : well over 12 months
Textures used : Custom
:
Sound : n/a
Compile machine
: Athlon 1.2
: 768megs RAM, Gforce2 MX 32MB
q3map compile Time
: TOTAL - 1hr mins
Brushes :
Entities :
===============================================================
Distribution / Copyright / Permissions
Feel free to distribute the files AS IS. All I ask is you give credit where it's due! Do not edit this text file under pain of a good spanking..!.
Copyright © 2002 Ken Beyer (cpdt@telinco.co.uk - subject 'maps')
Quake III Arena is a registered trademark of id Software, Inc.

View File

@ -0,0 +1,72 @@
//kt_torch md3 map model (c) ken 'kat' beyer
//script modified from id original
//torch with no flame
models/mapobjects/kt_torch/kt_torch
{
cull disable
{
map models/mapobjects/kt_torch/kt_torch.tga
alphaFunc GE128
depthWrite
rgbGen vertex
}
}
//torch with yellow flame
models/mapobjects/kt_torch/kt_torch_flame
{
cull disable
{
map models/mapobjects/kt_torch/kt_torch.tga
alphaFunc GE128
depthWrite
rgbGen vertex
}
}
//torch with smoke plume
models/mapobjects/kt_torch/kt_torch_smoke
{
cull disable
{
map models/mapobjects/kt_torch/kt_torch.tga
alphaFunc GE128
depthWrite
rgbGen vertex
}
}
//kt_smoke - modified from id original script
textures/kt_misc/kt_smoke
{
surfaceparm nomarks
surfaceparm nolightmap
cull none
{
animMap 10 textures/kt_misc/smoke1.jpg textures/kt_misc/smoke2.jpg textures/kt_misc/smoke3.jpg textures/kt_misc/smoke4.jpg textures/kt_misc/smoke5.jpg textures/kt_misc/smoke6.jpg textures/kt_misc/smoke7.jpg textures/kt_misc/smoke8.jpg
blendFunc GL_ONE GL_ONE
rgbGen wave inverseSawtooth 0 1 0 10
}
{
animMap 10 textures/kt_misc/smoke2.jpg textures/kt_misc/smoke3.jpg textures/kt_misc/smoke4.jpg textures/kt_misc/smoke5.jpg textures/kt_misc/smoke6.jpg textures/kt_misc/smoke7.jpg textures/kt_misc/smoke8.jpg textures/kt_misc/smoke1.jpg
blendFunc GL_ONE GL_ONE
rgbGen wave sawtooth 0 1 0 10
}
}

View File

@ -0,0 +1,41 @@
// Oak-mapmodel
models/mapobjects/oak/oakblaetter
{
cull none
nopicmip
{
map models/mapobjects/oak/oakblaetter.tga
alphaFunc GE128
depthWrite
rgbGen vertex
}
}
models/mapobjects/oak/oakblaetter2
{
cull none
nopicmip
{
map models/mapobjects/oak/oakblaetter2.tga
alphaFunc GE128
depthWrite
rgbGen vertex
}
}
models/mapobjects/oak/oakblaetter3
{
cull none
nopicmip
{
map models/mapobjects/oak/oakblaetter3.tga
alphaFunc GE128
depthWrite
rgbGen vertex
}
}

17
bsp/katdm3/texture.h Normal file
View File

@ -0,0 +1,17 @@
#pragma once
#include <stdint.h>
struct pk_texture {
void * start;
uint32_t size;
uint32_t offset;
int16_t width;
int16_t height;
//float u_mul;
float v_mul;
};
struct pk_texture textures[] = {
#include "texture.inc"
};

288
bsp/katdm3/texture.inc Normal file
View File

@ -0,0 +1,288 @@
{
.start = (void *)0,
.size = (uint32_t)0,
.offset = 0,
.width = 0,
.height = 0,
.v_mul = 0, // 0
},
{
.start = (void *)&_binary_bsp_katdm3_textures_katdm3_kt_rivit_strap2_cont_dk_data_start,
.size = (uint32_t)&_binary_bsp_katdm3_textures_katdm3_kt_rivit_strap2_cont_dk_data_size,
.offset = 0,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_baseq3_textures_gothic_trim_metalsupport4small_data_start,
.size = (uint32_t)&_binary_bsp_baseq3_textures_gothic_trim_metalsupport4small_data_size,
.offset = 174768,
.width = 64,
.height = 64,
.v_mul = 1.0, // 64
},
{
.start = (void *)0,
.size = (uint32_t)0,
.offset = 185696,
.width = 0,
.height = 0,
.v_mul = 0, // 0
},
{
.start = (void *)0,
.size = (uint32_t)0,
.offset = 185696,
.width = 0,
.height = 0,
.v_mul = 0, // 0
},
{
.start = (void *)0,
.size = (uint32_t)0,
.offset = 185696,
.width = 0,
.height = 0,
.v_mul = 0, // 0
},
{
.start = (void *)&_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_shiny_dk_data_start,
.size = (uint32_t)&_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_shiny_dk_data_size,
.offset = 185696,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)0,
.size = (uint32_t)0,
.offset = 360464,
.width = 0,
.height = 0,
.v_mul = 0, // 0
},
{
.start = (void *)0,
.size = (uint32_t)0,
.offset = 360464,
.width = 0,
.height = 0,
.v_mul = 0, // 0
},
{
.start = (void *)0,
.size = (uint32_t)0,
.offset = 360464,
.width = 0,
.height = 0,
.v_mul = 0, // 0
},
{
.start = (void *)0,
.size = (uint32_t)0,
.offset = 360464,
.width = 0,
.height = 0,
.v_mul = 0, // 0
},
{
.start = (void *)&_binary_bsp_baseq3_textures_gothic_floor_largerblock3b3x128_data_start,
.size = (uint32_t)&_binary_bsp_baseq3_textures_gothic_floor_largerblock3b3x128_data_size,
.offset = 360464,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)0,
.size = (uint32_t)0,
.offset = 535232,
.width = 0,
.height = 0,
.v_mul = 0, // 0
},
{
.start = (void *)&_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_fade_data_start,
.size = (uint32_t)&_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_fade_data_size,
.offset = 535232,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_a_data_start,
.size = (uint32_t)&_binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_a_data_size,
.offset = 710000,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_data_start,
.size = (uint32_t)&_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_data_size,
.offset = 884768,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_baseq3_textures_gothic_block_smblk3b3dim_wall_data_start,
.size = (uint32_t)&_binary_bsp_baseq3_textures_gothic_block_smblk3b3dim_wall_data_size,
.offset = 1059536,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_baseq3_textures_gothic_trim_border2_data_start,
.size = (uint32_t)&_binary_bsp_baseq3_textures_gothic_trim_border2_data_size,
.offset = 1234304,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_baseq3_textures_gothic_wall_streetbricks10_data_start,
.size = (uint32_t)&_binary_bsp_baseq3_textures_gothic_wall_streetbricks10_data_size,
.offset = 1409072,
.width = 128,
.height = 128,
.v_mul = 1.0, // 128
},
{
.start = (void *)&_binary_bsp_baseq3_textures_gothic_block_blocks18b_data_start,
.size = (uint32_t)&_binary_bsp_baseq3_textures_gothic_block_blocks18b_data_size,
.offset = 1452768,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_baseq3_textures_gothic_trim_metalsupsolid_data_start,
.size = (uint32_t)&_binary_bsp_baseq3_textures_gothic_trim_metalsupsolid_data_size,
.offset = 1627536,
.width = 128,
.height = 128,
.v_mul = 1.0, // 128
},
{
.start = (void *)&_binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_data_start,
.size = (uint32_t)&_binary_bsp_baseq3_textures_gothic_trim_km_arena1tower4_data_size,
.offset = 1671232,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_baseq3_textures_gothic_trim_supportborder_data_start,
.size = (uint32_t)&_binary_bsp_baseq3_textures_gothic_trim_supportborder_data_size,
.offset = 1846000,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_baseq3_textures_gothic_trim_tower_top_data_start,
.size = (uint32_t)&_binary_bsp_baseq3_textures_gothic_trim_tower_top_data_size,
.offset = 2020768,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_shiny_data_start,
.size = (uint32_t)&_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_shiny_data_size,
.offset = 2195536,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)0,
.size = (uint32_t)0,
.offset = 2370304,
.width = 0,
.height = 0,
.v_mul = 0, // 0
},
{
.start = (void *)0,
.size = (uint32_t)0,
.offset = 2370304,
.width = 0,
.height = 0,
.v_mul = 0, // 0
},
{
.start = (void *)&_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_rot_data_start,
.size = (uint32_t)&_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_rot_data_size,
.offset = 2370304,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)0,
.size = (uint32_t)0,
.offset = 2545072,
.width = 0,
.height = 0,
.v_mul = 0, // 0
},
{
.start = (void *)&_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_fade_data_start,
.size = (uint32_t)&_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_fade_data_size,
.offset = 2545072,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_katdm3_textures_katdm3_kt_wood_rough_data_start,
.size = (uint32_t)&_binary_bsp_katdm3_textures_katdm3_kt_wood_rough_data_size,
.offset = 2719840,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_katdm3_models_mapobjects_kt_torch_kt_torch_data_start,
.size = (uint32_t)&_binary_bsp_katdm3_models_mapobjects_kt_torch_kt_torch_data_size,
.offset = 2894608,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_baseq3_textures_sfx_flame1_data_start,
.size = (uint32_t)&_binary_bsp_baseq3_textures_sfx_flame1_data_size,
.offset = 3069376,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)0,
.size = (uint32_t)0,
.offset = 3244144,
.width = 0,
.height = 0,
.v_mul = 0, // 0
},
{
.start = (void *)&_binary_bsp_katdm3_models_mapobjects_oak_oakblaetter_data_start,
.size = (uint32_t)&_binary_bsp_katdm3_models_mapobjects_oak_oakblaetter_data_size,
.offset = 3244144,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},
{
.start = (void *)&_binary_bsp_baseq3_models_mapobjects_skel_skel_data_start,
.size = (uint32_t)&_binary_bsp_baseq3_models_mapobjects_skel_skel_data_size,
.offset = 3418912,
.width = 256,
.height = 256,
.v_mul = 1.0, // 256
},

36
bsp/katdm3/textures.txt Normal file
View File

@ -0,0 +1,36 @@
textures/common/caulk
textures/katdm3/kt_rivit-strap2_cont_dk
textures/gothic_trim/metalsupport4small
noshader
textures/common/hint
textures/common/clip
textures/katdm3/kt_rock_1f_shiny_dk
textures/common/botclip
textures/common/clusterportal
textures/liquids/clear_calm1
textures/common/nodraw
textures/gothic_floor/largerblock3b3x128
textures/skies/kcbasesky_arena1_sky
textures/katdm3/kt_rock_1f_rot_fade
textures/gothic_trim/km_arena1tower4_a
textures/katdm3/kattex-3-stone-bmp
textures/gothic_block/smblk3b3dim_wall
textures/gothic_trim/border2
textures/gothic_wall/streetbricks10
textures/gothic_block/blocks18b
textures/gothic_trim/metalsupsolid
textures/gothic_trim/km_arena1tower4
textures/gothic_trim/supportborder
textures/gothic_trim/tower_top
textures/katdm3/kt_rock_1f_rot_shiny
textures/katdm3/kt_rock_1f_rot_big2
textures/common/weapclip
textures/katdm3/kattex-3-stone-bmp_rot
textures/katdm3/kt_rock_1f_rot_big
textures/katdm3/kattex-3-stone-bmp_fade
textures/katdm3/kt_wood_rough
models/mapobjects/kt_torch/kt_torch
textures/sfx/flame1
models/mapobjects/oak/oakstamm
models/mapobjects/oak/oakblaetter
models/mapobjects/skel/skel

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_data_start __asm("_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_data_start");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_data_end __asm("_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_data_end");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_data_size __asm("_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_fade_data_start __asm("_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_fade_data_start");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_fade_data_end __asm("_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_fade_data_end");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_fade_data_size __asm("_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_fade_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_rot_data_start __asm("_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_rot_data_start");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_rot_data_end __asm("_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_rot_data_end");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_rot_data_size __asm("_binary_bsp_katdm3_textures_katdm3_kattex_3_stone_bmp_rot_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rivit_strap2_cont_dk_data_start __asm("_binary_bsp_katdm3_textures_katdm3_kt_rivit_strap2_cont_dk_data_start");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rivit_strap2_cont_dk_data_end __asm("_binary_bsp_katdm3_textures_katdm3_kt_rivit_strap2_cont_dk_data_end");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rivit_strap2_cont_dk_data_size __asm("_binary_bsp_katdm3_textures_katdm3_kt_rivit_strap2_cont_dk_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_big_data_start __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_big_data_start");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_big_data_end __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_big_data_end");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_big_data_size __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_big_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_big2_data_start __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_big2_data_start");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_big2_data_end __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_big2_data_end");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_big2_data_size __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_big2_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_fade_data_start __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_fade_data_start");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_fade_data_end __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_fade_data_end");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_fade_data_size __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_fade_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_shiny_data_start __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_shiny_data_start");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_shiny_data_end __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_shiny_data_end");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_shiny_data_size __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_rot_shiny_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_shiny_dk_data_start __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_shiny_dk_data_start");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_shiny_dk_data_end __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_shiny_dk_data_end");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_rock_1f_shiny_dk_data_size __asm("_binary_bsp_katdm3_textures_katdm3_kt_rock_1f_shiny_dk_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

View File

@ -0,0 +1,15 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_wood_rough_data_start __asm("_binary_bsp_katdm3_textures_katdm3_kt_wood_rough_data_start");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_wood_rough_data_end __asm("_binary_bsp_katdm3_textures_katdm3_kt_wood_rough_data_end");
extern uint32_t _binary_bsp_katdm3_textures_katdm3_kt_wood_rough_data_size __asm("_binary_bsp_katdm3_textures_katdm3_kt_wood_rough_data_size");
#ifdef __cplusplus
}
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

View File

@ -11,8 +11,8 @@ def read_texture_names():
return lines
def glob_and_filter(name):
filenames = glob(f"{name}.tga") + glob(f"{name}.jpg")
assert len(filenames) in {0, 1}
filenames = glob(f"*/{name}.tga") + glob(f"*/{name}.jpg")
assert len(filenames) in {0, 1}, filenames
filename = filenames[0] if filenames else None
return filename
@ -45,7 +45,22 @@ class Texture:
npot_size: Size
offset: int
mipmapped = False
def mip_size(n):
if n == 0:
return 0
size = 6
while n > 0:
size += n * n * 2
n >>= 1
return size
assert mip_size(256) == 0x2aab0, hex(mip_size(256))
def texture_metadata():
global mipmapped
names = read_texture_names()
acc = 0
for name in names:
@ -53,6 +68,12 @@ def texture_metadata():
w, h = image_size(filename)
nw, nh = npot(w), npot(h)
if w > 256:
name = None
filename = None
w, h, nw, nh = 0, 0, 0, 0
elif filename:
print(filename)
yield Texture(
name,
filename,
@ -61,14 +82,19 @@ def texture_metadata():
acc
)
acc += nw * h
if mipmapped:
assert w == h and nw == w, (w, h)
acc += mip_size(w)
else:
acc += nw * h * 2
assert acc <= (0x80_0000 - 0x37_1800), acc
def name_to_bin(filename):
if filename is None:
return None
else:
name, ext = path.splitext(filename)
return "_binary_pk_" + name.replace('/', '_').replace('.', '_') + "_data"
return f"_binary_bsp_" + name.replace('/', '_').replace('.', '_').replace('-', '_') + "_data"
def uv_mul(texture):
u = 0 if texture.npot_size.w == 0 else texture.real_size.w / texture.npot_size.w
@ -96,8 +122,15 @@ def render_texture_metadatas():
yield from render_texture_metadata(texture)
def main():
global mipmapped
out_filename = sys.argv[1]
is_mipmapped = sys.argv[2]
assert is_mipmapped in {"mipmapped", "non_mipmapped"}
mipmapped = is_mipmapped == "mipmapped"
render, out = renderer()
render(render_texture_metadatas())
sys.stdout.write(out.getvalue())
with open(out_filename, "w") as f:
f.write(out.getvalue())
main()

View File

@ -40,3 +40,48 @@ BSP_20KDM2_OBJ = \
example/bsp/20kdm2.elf: LDSCRIPT = $(LIB)/main.lds
example/bsp/20kdm2.elf: $(START_OBJ) $(BSP_20KDM2_OBJ)
BSP_KATDM3_OBJ = \
example/bsp/katdm3.o \
holly/core.o \
holly/region_array.o \
holly/background.o \
holly/ta_fifo_polygon_converter.o \
holly/video_output.o \
sh7091/serial.o \
sh7091/c_serial.o \
printf/printf.o \
printf/unparse.o \
printf/parse.o \
interrupt.o \
maple/maple.o \
font/font_bitmap.o \
font/verite_8x16/verite_8x16.data.o \
bsp/katdm3/maps/katdm3.bsp.o \
bsp/katdm3/textures/katdm3/kt_rivit-strap2_cont_dk.data.o \
bsp/baseq3/textures/gothic_trim/metalsupport4small.data.o \
bsp/katdm3/textures/katdm3/kt_rock_1f_shiny_dk.data.o \
bsp/baseq3/textures/gothic_floor/largerblock3b3x128.data.o \
bsp/katdm3/textures/katdm3/kt_rock_1f_rot_fade.data.o \
bsp/baseq3/textures/gothic_trim/km_arena1tower4_a.data.o \
bsp/katdm3/textures/katdm3/kattex-3-stone-bmp.data.o \
bsp/baseq3/textures/gothic_block/smblk3b3dim_wall.data.o \
bsp/baseq3/textures/gothic_trim/border2.data.o \
bsp/baseq3/textures/gothic_wall/streetbricks10.data.o \
bsp/baseq3/textures/gothic_block/blocks18b.data.o \
bsp/baseq3/textures/gothic_trim/metalsupsolid.data.o \
bsp/baseq3/textures/gothic_trim/km_arena1tower4.data.o \
bsp/baseq3/textures/gothic_trim/supportborder.data.o \
bsp/baseq3/textures/gothic_trim/tower_top.data.o \
bsp/katdm3/textures/katdm3/kt_rock_1f_rot_shiny.data.o \
bsp/katdm3/textures/katdm3/kattex-3-stone-bmp_rot.data.o \
bsp/katdm3/textures/katdm3/kattex-3-stone-bmp_fade.data.o \
bsp/katdm3/textures/katdm3/kt_wood_rough.data.o \
bsp/katdm3/models/mapobjects/kt_torch/kt_torch.data.o \
bsp/baseq3/textures/sfx/flame1.data.o \
bsp/katdm3/models/mapobjects/oak/oakblaetter.data.o \
bsp/baseq3/models/mapobjects/skel/skel.data.o \
$(LIBGCC)
example/bsp/katdm3.elf: LDSCRIPT = $(LIB)/main.lds
example/bsp/katdm3.elf: $(START_OBJ) $(BSP_KATDM3_OBJ)

1449
example/bsp/katdm3.cpp Normal file

File diff suppressed because it is too large Load Diff

View File

@ -2,6 +2,7 @@
#include <cstdint>
#include <cstddef>
#include "assert.h"
#include "../float_uint32.hpp"
@ -83,11 +84,12 @@ constexpr uint32_t modifier_volume_vertex_parameter_control_word()
struct ta_parameter_writer {
uint8_t * buf;
uint32_t length;
uint32_t offset; // in bytes
template <typename T>
ta_parameter_writer(T * buf)
: buf(reinterpret_cast<uint8_t *>(buf)), offset(0)
ta_parameter_writer(T * buf, uint32_t length)
: buf(reinterpret_cast<uint8_t *>(buf)), length(length), offset(0)
{ }
template <typename T>
@ -95,6 +97,7 @@ struct ta_parameter_writer {
{
T& t = *reinterpret_cast<T *>(&buf[offset]);
offset += (sizeof (T));
assert(offset < length);
return t;
}
};